반응형
원문 : http://www.cyworld.com/B166er/4834163
안드로이드에서 파일 쓰기를 할 때 ObjectOutputStream을 사용하는 경우, 파일의 시작에 이상한 문자들이 들어가 있습니다. 이유는 잘 모르겠네요.
oOutputStream.flush() 를 하고, wirte를 해봤지만 마찬가지!
만약 문제가 되시는 분들은 BufferedOutputStream으로 write를 하시기 바랍니다.
좀 더 쉽게 사용하려다 고생하네요.
아 그리고 close는 필수! 그래야 파일에 써진답니다.
○ 파일 입출력
1. 파일 쓰기
2. 파일 읽기
○ 네트워크 입출력
1. 데이터 전송
2. 데이터 받기
안드로이드에서 파일 쓰기를 할 때 ObjectOutputStream을 사용하는 경우, 파일의 시작에 이상한 문자들이 들어가 있습니다. 이유는 잘 모르겠네요.
oOutputStream.flush() 를 하고, wirte를 해봤지만 마찬가지!
만약 문제가 되시는 분들은 BufferedOutputStream으로 write를 하시기 바랍니다.
좀 더 쉽게 사용하려다 고생하네요.
아 그리고 close는 필수! 그래야 파일에 써진답니다.
1. 파일 쓰기
File file = new File("파일경로");
FileOutputStream fOutputStream = new FileOutputStream(file);
BufferedOutputStream bOutputStream = new BufferedOutputStream(fOutputStream);
ObjectOutputStream oOutputStream = new ObjectOutputStream(bOutputStream);
oOutputStream.writeObject(....);
oOutputStream.close();
FileOutputStream fOutputStream = new FileOutputStream(file);
BufferedOutputStream bOutputStream = new BufferedOutputStream(fOutputStream);
ObjectOutputStream oOutputStream = new ObjectOutputStream(bOutputStream);
oOutputStream.writeObject(....);
oOutputStream.close();
2. 파일 읽기
File file = new File("파일경로");
FileInputStream fInputStream = new FileInputStream(file);
BufferedInputStream bInputStream = new BufferedInputStream(fInputStream);
ObjectInputStream oInputStream = new ObjectOutputStream(bInputStream);
try {
Object obj = oInputStream.readObject();
} catch (ClassNotFoundException e) {
}
FileInputStream fInputStream = new FileInputStream(file);
BufferedInputStream bInputStream = new BufferedInputStream(fInputStream);
ObjectInputStream oInputStream = new ObjectOutputStream(bInputStream);
try {
Object obj = oInputStream.readObject();
} catch (ClassNotFoundException e) {
}
○ 네트워크 입출력
1. 데이터 전송
Socket socket = new Socket(...);
BufferedOutputStream bOutputStream = new BufferedOutputStream(socket.getOutputStream());
ObjectOutputStream oOutputStream = new ObjectOutputStream(bOutputStream);
oOutputStream.writeObject(....);
BufferedOutputStream bOutputStream = new BufferedOutputStream(socket.getOutputStream());
ObjectOutputStream oOutputStream = new ObjectOutputStream(bOutputStream);
oOutputStream.writeObject(....);
2. 데이터 받기
Socket socket = new Socket(...);
BufferedInputStream bInputStream = new BufferedInputStream(socket.getInputStream());
ObjectInputStream oInputStream = new ObjectOutputStream(bInputStream);
try {
Object obj = oInputStream.readObject();
} catch (ClassNotFoundException e) {
}
BufferedInputStream bInputStream = new BufferedInputStream(socket.getInputStream());
ObjectInputStream oInputStream = new ObjectOutputStream(bInputStream);
try {
Object obj = oInputStream.readObject();
} catch (ClassNotFoundException e) {
}
반응형
'안드로이드' 카테고리의 다른 글
[안드로이드] Drag&Drop 을 할 수 있는 ListView 만들기 (0) | 2011.08.05 |
---|---|
클래스 로딩 문제 분석하기, Part 2: 기본적인 클래스 로딩 예외(Exception) (한글) (0) | 2011.08.04 |
[안드로이드] Asset 폴더의 제약사항 및 대용량DB 넣기 (0) | 2011.08.04 |
[자바] 큐(Queue) 성능 테스트 - ArryList, HashMap, LinkedList, ... (0) | 2011.07.29 |
안드로이드 폴더 삭제 (0) | 2011.07.21 |
Heap 메모리 분석 (0) | 2011.07.07 |
안드로이드 메모리 누수 줄이기 (0) | 2011.07.07 |
RSS(Really Simple Syndication) 표준 (0) | 2011.07.07 |
안드로이드 XML 파싱방법 - SAX, XmlPullParser, DOM (0) | 2011.07.06 |
[안드로이드] 코드상에서 안드로이드 빌드 버전 확인하기 (0) | 2011.07.05 |