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();}}}