horiuchi #6605(2008/06/29 10:25 GMT) [ Java ] Rating0/0=0.00
この頃、自分で書く時はこんな形にしてます。
設定ファイルの内容は
ファイル:ShowPrice.properties
>>
item.name=apple
item.cost=200
<<
ファイル:ShowPrice2.properties
item.name=orange
item.cost=100
ファイル:ShowPrice3.properties
see: 設定情報読み込みクラスの設計 に関して
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69
import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.io.Reader; import java.util.Properties; public class Sample186 { private static final Properties defaultProperties_ = new Properties(); static { defaultProperties_.setProperty("item.name", "nothing"); defaultProperties_.setProperty("item.cost", "0"); } private final Properties properties_ = new Properties(defaultProperties_); public Sample186(InputStream stream) throws IOException { properties_.load(stream); } public Sample186(Reader reader) throws IOException { properties_.load(reader); } public String get(String key) { return properties_.getProperty(key); } public int getInteger(String key) { try { return Integer.parseInt(get(key)); } catch (NumberFormatException ex) { ex.printStackTrace(); return 0; } } public long getLong(String key) { try { return Long.parseLong(get(key)); } catch (NumberFormatException ex) { ex.printStackTrace(); return 0L; } } public double getDouble(String key) { try { return Double.parseDouble(get(key)); } catch (NumberFormatException ex) { ex.printStackTrace(); return 0.0; } } public static void main(String[] args) { try { Sample186 apple = new Sample186(new FileInputStream("ShowPrice.properties")); System.out.println(getPrice(apple)); Sample186 orange = new Sample186(new FileInputStream("ShowPrice2.properties")); System.out.println(getPrice(orange)); Sample186 nothing = new Sample186(new FileInputStream("ShowPrice3.properties")); System.out.println(getPrice(nothing)); } catch (IOException ex) { ex.printStackTrace(); } } private static String getPrice(Sample186 sample186) { return String.format("「%s」は%d円(税込み)", sample186.get("item.name"), (int)(sample186.getInteger("item.cost") * 1.05)); } }
Rating0/0=0.00-0+
[ reply ]
horiuchi
#6605()
[
Java
]
Rating0/0=0.00
この頃、自分で書く時はこんな形にしてます。
設定ファイルの内容は
ファイル:ShowPrice.properties
>>
item.name=apple
item.cost=200
<<
ファイル:ShowPrice2.properties
>>
item.name=orange
item.cost=100
<<
ファイル:ShowPrice3.properties
>>
<<
see: 設定情報読み込みクラスの設計 に関して
Rating0/0=0.00-0+
[ reply ]