JAVA 파일 입출력
JAVA의 객체를 파일로 저장하고 읽어들이기 위해서는 해당 객체의 클래스가 Serializable 인터페이스를 상속받은 클래스이어야 한다.
쓰기
ObjectOutputStream -> FileOutputStream -> File
읽기
File -> FileInputStream -> ObjectInputStream
객체 파일 저장 예제 코드
public void saveData() {
try(ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream("data.dat"))){
out.writeObject(data); // data 객체를 data.dat 파일로 저장
} catch (Exception e) {
System.out.println("파일 쓰기 실패");
e.printStackTrace()패
}
}
객체 파일 읽기 예제 코드
public void loadData() {
File f = new File("data.dat"); // File 객체로 data.dat 파일 읽기
if(f.exists()) { // 파일이 존재하면 파일에서 데이터 읽기
try(ObjectInputStream in = new ObjectInputStream(new FileInputStream(f))){
data = (Data) in.readObject(); // Data 클래스는 Serializable 인터페이스를 상속받아야
} catch (Exception e) {
System.out.println("파일 읽기 실패");
e.printStackTrace();
}
}
}