-
18일 차 객체의 입출력삼성SDS_멀티캠퍼스/Java 2015. 10. 2. 09:50반응형
import java.io.Serializable;
public class Car implements Serializable{
private static final long serialVersionUID = -5794225376776071193L;
private String color;
private int speed;
private int mileage;
public String getColor() {
return color;
}
public void setColor(String color) {
this.color = color;
}
public int getSpeed() {
return speed;
}
public void setSpeed(int speed) {
this.speed = speed;
}
public int getMileage() {
return mileage;
}
public void setMileage(int mileage) {
this.mileage = mileage;
}
@Override
public String toString() {
return "Car [color=" + color + ", speed=" + speed + ", mileage=" + mileage + "]";
}
}
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.util.ArrayList;
public class Test3 {
public static void main(String[] args) {
// 최종적으로 사용할 스트림 참조변수를 미리선언
// try구문에서 사용하고 finally블럭에서 닫기 위해서
ObjectInputStream in = null;
ObjectOutputStream out = null;
// FileoutputStream에 직접 ObjectOutputStream을 연결했다
// 중간에 BufferdoutputStream 넣어도 상관없다
try {
out = new ObjectOutputStream(new FileOutputStream("data.bin"));
ArrayList<Car> carlist = new ArrayList<Car>();
Car abbacha = new Car();
abbacha.setColor("blue");
abbacha.setSpeed(100);
abbacha.setMileage(5000);
carlist.add(abbacha);
abbacha.setColor("black");
abbacha.setSpeed(120);
abbacha.setMileage(100000);
carlist.add(abbacha);
out.writeObject(carlist);
out.flush();
in = new ObjectInputStream(new FileInputStream("data.bin"));
ArrayList<Car> readCarlist = (ArrayList<Car>) in.readObject();
for( Car c : readCarlist)
System.out.println(c);
} catch (FileNotFoundException e) {
System.out.println("파일이 존재하지 않습니다");
} catch (IOException e) {
// TODO Auto-generated catch block
System.out.println("입출력에 문제가 생겼습니다");
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
System.out.println("클래스가 존재하지 않습니다");
} finally {
try {
if (out != null)
out.close();
if (in != null)
in.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
반응형'삼성SDS_멀티캠퍼스 > Java' 카테고리의 다른 글
19일 차 소켓 통신 (0) 2015.10.05 18일 차 도서대여 프로그램 완벽한 저장 (0) 2015.10.02 18일 차 객체를 입출력 하려면 직렬화를 해야한다. (0) 2015.10.02 17일 차 메모장에 있는 내용을 그대로 입출력하기 (0) 2015.10.01 17일 차 메모장에 저장된 값을 오름차순으로 정렬하여 다른 메모장에서 출력하기 (0) 2015.10.01