Gentle Breeze
[JAVA] I/O 본문
입출력에 대해
- 보내고 받는 것인데...
- 어디로
- 표준입출력(키보드, 마우스, 입력 & 모니터, 메모리로 출력)
- 파일 입출력(파일로 입력하고 출력하는것)
- 네트워크입출력(다른 호스트, 웹서버...)
- 무엇을
- 바이트 또는 캐릭터
- 데이터타입
- 객체
- 파이프로 연결해서
-입력용
- 입력용과 출력용이 따로 있다.
- 바이트는 InputStream, 문자는Reader
- 출력용
- 바이트는 OuputStream, 문자는 Reader
- 표준입출력은 InputStream, OutputStream를 사용하는데
키보드는 이미 System.in, 모니터는 System.out이 이미 있다.
- 파일입출력은 바이트용은 fileInputStream, FileOutputStream
- 객체를 파일로 입출력하려면 ObjectInputStream과 ObjectOutputStream
new ObjectInputStream(new FileInputStream("파일이름"));
이것은 "파일이름"이라는 파일을 읽어올 수 있게 되는데...
이때 바이트 단위로도 읽을수 있지만, 특히 객체단위로도 읽을 수 있게 된다.
이것이 바로 wrapping이며, Decoration된 것이다.
BufferedInputStream과 PrintWriter를 이용하여 사용자가 입력한 문자열을
파일로 기록하여 봅니다.
사용자가 입력하는 것은 키보드로 입력되기에 System.in을 BufferedInputStream으로 감싸서 처리합니다.
입력은 키보드 -> System.in
방식은 줄단위 -> BufferedReader
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
PrintWriter pw = new PrintWriter(new FileWriter("파일이름"));
String result;
while((result = br.readline()) != "quit") {
pw.println(result);
}
pw.flush();
pw.close();
출력은 파일로 -> FileWriter
방식은 줄단위로 -> PrintWriter
'⑥ PreSTC > JAVA' 카테고리의 다른 글
[JAVA] Interface vs Abstract Class (1) | 2008.07.22 |
---|---|
[JAVA] JDBC <1> (0) | 2008.07.22 |
[JAVA] 정리 <2> (0) | 2008.07.22 |
[JAVA] Interface (0) | 2008.07.22 |
[JAVA] abstract class (0) | 2008.07.22 |