2013-11-02 3 views
0

잠시 동안 포럼에서 검색했지만 내 질문을 찾을 수 없습니다. 내부 스토리지에 문자열 배열을 쓰는 방법에 대한 많은 예제가 있지만이를 다시 읽지는 않습니다. 내부 스토리지의 문자열 배열 읽기

나는에 의해 저장되는 문자열 배열이 있습니다

String FILENAME = "data1"; 
fos = openFileOutput(FILENAME, Context.MODE_APPEND); 
for(int j=1;j<=PupilAmount;j++) { 
    fos.write(pup[j].getBytes()); 
} 
fos.close(); 

을하지만 다시 변수를 읽고 어떻게, 그리고 나의 새로운 활동에 새로운 변수에 저장?

답변

2

문자열 배열은 직렬화 가능합니다. 그래서 당신은 파일

FileOutputStream fout = openFileOutput(FILENAME, Context.MODE_APPEND); 
ObjectOutputStream oos = new ObjectOutputStream(fout); 
oos.writeObject(pup); 
oos.close(); 

에 직렬화 및이 방법으로 다시 읽을 수 있습니다

FileInputStream fin = openFileInput(FILENAME, Context.MODE_APPEND); 
ObjectInputStream ois = new ObjectInputStream(fin); 
String[] pup = (String[]) ois.readObject(); 
ois.close() 
+0

와우. 쉽게 들리 네요. 이 방법으로 파일에 여러 객체를 포함 할 수 있습니까? – BeHaa

+0

예, 복잡한 객체이지만 해당 객체가 직렬화 가능 인터페이스를 구현해야합니다. 그렇지 않으면 쓰기가 불가능합니다. – Blackbelt