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
복사했습니다!