728x90
반응형
Properties 사용 예제
java.util.Properties를 사용하여, data.xml 파일에 데이터를 기록 저장한 다음
파일에 기록된 데이터들을 읽어와서 Fruit[]에 기록하고 Fruit[]의 값들을 화면에 출력처리
> 실행결과
1 = apple, 1200, 3
2 = banana, 2500, 2
3 = grape, 4500, 5
4 = orange, 800, 10
5 = melon, 5000, 2
public class PropTest {
public static void main(String[] args) {
Properties prop = new Properties();
prop.put("1", "apple,1200,3");
prop.put("2", "banana,2500,2");
prop.put("3", "grape,4500,5");
prop.put("4", "orange,800,10");
prop.put("5", "melon,5000,2");
new PropTest().fileSave(prop);
new PropTest().fileOpen(prop);
}
public void fileSave(Properties p) {
try {
p.storeToXML(new FileOutputStream("data.xml"), "과일정보");
} catch (IOException e) {
e.printStackTrace();
}
}
public void fileOpen(Properties p) {
try {
p.loadFromXML(new FileInputStream("data.xml"));
} catch (IOException e) {
e.printStackTrace();
}
List<String> keyList = new ArrayList<>();
Enumeration<?> keys = p.propertyNames();
while(keys.hasMoreElements())
keyList.add((String)keys.nextElement());
keyList.sort(null);
Fruit[] fruit = new Fruit[keyList.size()];
for(int i=0; i<keyList.size(); i++) {
String key = keyList.get(i);
String value = p.getProperty(key);
String[] temp = value.split(",");
fruit[i] = new Fruit(temp[0], Integer.parseInt(temp[1]),Integer.parseInt(temp[2]));
}
for(int i=0; i<fruit.length; i++)
System.out.println((i+1)+" = "+fruit[i]);
}
}
public class Fruit {
private String name;
private int price;
private int quantity;
public Fruit() {}
public Fruit(String name, int price, int quantity) {
this.name = name;
this.price = price;
this.quantity = quantity;
}
@Override
public String toString() {
return name + ", " + price + ", " + quantity;
}
public String getName() {return name;}
public void setName(String name) {this.name = name;}
public int getPrice() {return price;}
public void setPrice(int price) {this.price = price;}
public int getQuantity() {return quantity;}
public void setQuantity(int quantity) {this.quantity = quantity;}
}
반응형
'프로그래밍 > JAVA' 카테고리의 다른 글
05.04(BufferedReader 예제) (0) | 2020.05.04 |
---|---|
05.01(API, 예외처리, map예제) (0) | 2020.05.01 |
04.29(ArrayList 내림차순 정렬 예제) (0) | 2020.04.29 |
04.28(GUI 작업 순서) (0) | 2020.04.28 |
04.27(GUI) (0) | 2020.04.27 |