ArrayList를 Java 파일에 저장
Java는 객체를 해당 객체의 데이터와 해당 유형 및 객체에 저장된 데이터 유형 정보(유형 및 객체에 저장된 데이터 유형)를 포함하는 일련의 비트로 표현할 수 있는 메커니즘을 제공합니다.직렬화된 개체가 파일에 성공적으로 저장되면 문제없이 파일에서 읽은 다음 직렬화를 해제할 수 있습니다. 객체와 해당 데이터를 나타내는 비트는 메모리에서 객체를 다시 만드는 데 사용할 수 있습니다.
ObjectInputStream 및 ObjectOutputStream 클래스는 .
ArrayList는 기본적으로 직렬화할 수 있습니다. 즉, ArrayList.<>br />
구현할 필요가 없습니다. >ArrayList를
이 클래스는 ArrayList 개체를 비트 스트림으로 갖는 테스트 파일을 만듭니다. 테스트 파일은 비트스트림에서 객체를 저장하고 다시 만드는 데 사용됩니다. ArrayList는 기본적으로 이미 직렬화되어 있기 때문에 이 예제에서는 Serializable 인터페이스를 구현하지 않았습니다.import java.io.FileNotFoundException;Runtime:
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectOutputStream;
import java.util.ArrayList;
public class SerializeArrayList {
public static void main(String[] args) {
ArrayListal=new ArrayList ();
al.add("안녕하세요 세계");
al.add ("안녕하세요 세계");
try {
FileOutputStream fileOut = new FileOutputStream("테스트");
ObjectOutputStream out = new ObjectOutputStream(fileOut);
out.writeObject(al);
out.close();
fileOut.close();
System.out.println("\n직렬화가 성공적으로 완료되었습니다...\n");
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
직렬화가 성공적으로 완료되었습니다...개봉 후 생성된 바이너리의 내용은 다음과 같습니다.
이 클래스에서는 위의 클래스를 사용하여 저장한 테스트 파일에서 비트 형식으로 데이터 스트림을 검색합니다. 캐스트를 사용하여 반환 된 객체를 ArrayList로 변환하고 ArrayList의 요소를 표시합니다. 출력을 보면 직렬화 전에 목록에 추가한 것과 동일한 항목을 얻을 수 있습니다.
import java.io.FileInputStream;런타임:
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.util.ArrayList;
public class SerializeArrayList {
public static void main(String[] args) {
//read
ArrayList< 문자열> arraylist= 새로운 ArrayList< 문자열> ();
시도 {
FileInputStream fileIn = new FileInputStream("test");
ObjectInputStream ois = 새로운 ObjectInputStream(fileIn);
arraylist = (배열목록) ois.readObject();
ois.close();
fileIn.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
// TODO 자동 생성 catch block
e.printStackTrace();
}
System.out.println("데이터 읽기: \n");
for(문자열 o:arraylist)
System.out.println(o);
}
}
데이터 읽기:그게 다야! 주저하지 마시고 질문해 주세요;)
hello world
hello world