BufferedReader 3

문자 스트림 - 파일 복사 개선(BufferedReader, BufferedWriter)

파일 복사 프로그램 개선 import java.io.*; public class BufferFileCopy { public static void main(String[] args) { if(args.length != 2){ System.out.println("사용법 : java FileCopy 파일명1 파일명2"); System.exit(0); } //if FileReader fr = null; BufferedReader br = null; FileWriter fw = null; BufferedWriter bw = null; try{ fr = new FileReader(args[0]); br = new BufferedReader(fr); fw = new FileWriter(args[1]); bw = ne..

문자 스트림 - BufferedReader와 BufferedWriter

BufferedReader와 BufferedWriter Buffer에 있는 IO 클래스다. Buffer란 다른 말로 메모리를 의미하는데, 메모리가 있기 때문에 입출력 시에 병목현상을 줄일 수 있다. 빠른 속도로 읽어 들이거나, 빠른 속도로 쓰고자 할 때 읽어 들여야 할 대상과 써야 할 대상 간의 속도 차이 때문에 병목현상이 일어날 수 있다. 따라서 중간에 버퍼를 둠으로써 읽기와 쓰기시 성능이 향상될 수 있다. 그리고 BufferedReader의 경우에는 한 줄씩 읽어 들이는 readLine 이라는 메소드가 있기 때문에 한줄씩 읽어 들이기에도 유리하다. 다만 주의해야 할 점이 있는데, BufferedWriter의 경우, 버퍼가 있기 때문에 반드시 flush() 메소드를 이용하거나 close() 메소드를 호..

자바 IO - 프로그래밍을 잘하려면(API)

자바 IO 프로그래밍을 잘하려면 자바 IO 프로그래밍을 잘하려면 자바 API를 한번쯤은 꼭 읽어볼 필요가 있다. 그래야만 어떤 클래스에 어떤 메소드가 있는지 알 수 있기 때문이다. 보통 입력에 관련된 클래스는 입력관련된 메소드고, 출력에 관련된 클래스는 출력에 관련된 메소드가 있을테지만 말이다. 문제. "키보드로부터 한 줄씩 입력 받아 화면에 한 줄씩 출력하시오." 객체지향 프로그래머라면 우선 위 문제를 해결해 줄 객체부터 생각해야 한다. 일단, 키보드로 입력받는 것을 표준 입력 장치기 때문에 System.in을 사용해야 하고 출력하려면 표준 출력 장치기 때문에 System.out 을 사용해야 한다. 이번엔 메소드로 있을 법한 것을 살펴 보면 "한 줄씩 입력 받는다"라는 문장이다. 위의 문장을 java...