Monday, January 9, 2012

Java - Get System properties

මම අද පොඩ්ඩක් වෙනස් මාතෘකාවක් ගැන කතා කරන්න හිතුවා. ජාවා මුල ඉඳන් කියලා දෙන එකට අමතරව තමයි post මේ එක ලියන්නේ.
මේක යටතේ මම කතා කරන්නේ ජාවා භාවිතා කරලා කොහොමද පොඩි පොඩි programs හදා ගන්නේ කියන එක.
ඒක යටතේ මම මුලින්ම කියල දෙන්නම් ජාවා වලින් කොහොමද අපේ computer එකේ sysrem properties ගන්නේ කියලා.
මේ code එකෙන් Computer එකේ ඔක්කොම System properties අපේ file එකකට write කරගන්න පුලුවන්.
මෙන්න code එක. මේ code එක notepad එකේ ගහලා මම කලින් post එකේ කියලා දුන්නා වගේ compile කරලා run කරලා බලන්න.

import java.io.FileNotFoundException;
import java.io.PrintWriter;
import java.util.Map.Entry;
import java.util.Properties;
import java.util.Set;
import java.util.logging.Level;
import java.util.logging.Logger;
/**
 *
 * @author Thusitha
 */
public class GetDetails {
    public static void main(String[] args) {
        PrintWriter writer = null;
        try {
            writer = new PrintWriter("details.txt"); // මේ file එකට තමයි විස්තර ටික write වෙන්නේ. මෙතනට කැමති නමක් දෙන්න පුලුවන්
            Properties systemProps = System.getProperties();
            Set<Entry<Object, Object>> sets = systemProps.entrySet();
            writer.println("System properties");
            writer.println();
            for (Entry<Object, Object> entry : sets) {
                writer.println(entry.getKey() + " - " + entry.getValue());
                writer.println();
                writer.flush();
            }
        } catch (FileNotFoundException ex) {
            Logger.getLogger(GetDetails.class.getName()).log(Level.SEVERE, null, ex);
        } finally {
            writer.close();
        }
    }
}

3 comments:

  1. machan try block eke 3rd line eka explain karanna puluwanda? Exception eka handle karala thiyana line ekath one....

    ReplyDelete
  2. Set> sets = systemProps.entrySet();
    මචං උඹ කියන්නේ මේ එක නේද?
    මේකෙන් කරන්නේ system properties වලට අදාල entry set එක ගන්න එක මචං e.g. user.home, user.name මෙන්න මේ වගේ entries වලට අදාල entry list එකක් තියනවා. ඒ එක එක type කරන්න එපාවෙන නිසා තමයි ඔක්කොම එක සැරේ ගත්තේ. මම මෙතන generics දාලා තියනවා. ඒක නිසා වෙන්න ඇති ටිකක් අපැහැදිලි. generics අමතක කලාම මෙතන normal set එකක්. එහෙම අරගෙන කලත් අවුලක් නෑ.

    FileNotFound exception relates with printwritter mchn. it has no connection with system properties

    ReplyDelete
  3. එතකොට sets වලට assign වෙන්නෙ කෙලින්ම list එකක් නේද? Sets වලට generics පාවිච්චි කරලා තියන විදිය තමයි අපැහැදිලි.....

    ReplyDelete