ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 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();

    }


    }


    }

    }





    반응형
Designed by Tistory.