Gentle Breeze

[JAVA] I/O 본문

⑥ PreSTC/JAVA

[JAVA] I/O

재령 2008. 7. 22. 21:37

입출력에 대해
   - 보내고 받는 것인데...
   - 어디로
      - 표준입출력(키보드, 마우스, 입력 & 모니터, 메모리로 출력)
     
      - 파일 입출력(파일로 입력하고 출력하는것)
     
      - 네트워크입출력(다른 호스트, 웹서버...)
     
   - 무엇을
      - 바이트 또는 캐릭터
      - 데이터타입
      - 객체
      - 파이프로 연결해서
     
      -입력용  
         - 입력용과 출력용이 따로 있다.
            - 바이트는 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
Comments