개인참고자료 71

문자 스트림 - Char 배열 형태로 만든 후 출력하기(CharArrayReader, CharArrayWriter)

Char 배열 형태로 만든 후 이 내용을 화면에 출력하기 ByteArrayInputStream과 ByteArrayOutputStream을 학습할 때 다뤘던 예제와 흡사한 예제이다. 다른점은 바이트 배열이 아니라 char 배열을 사용했다. import java.io.*; public class CharArrayInputOutputTest { public static void main(String[] args) { if(args.length != 1){ System.out.println("사용법 : java CharArrayInputOutputTest 파일이름"); System.exit(0); } // if end FileReader fis = null; CharArrayReader bais = null; ..

문자 스트림 - CharArrayReader와 CharArrayWriter

CharArrayReader와 CharArrayWriter CharArrayReader와 CharArrayWriter는 앞 장에서 배운 ByteArrayReader, ByteArrayWriter와 사용법이 유사하다. 다른 점이 있다면 문자 배열로부터 읽어 들이고, CharArrayWriter에 출력한 내용을 문자 배열로 반환받을 수 있다. CharArrayReader 생성자 생성자 설명 CharArrayReader(char[] buf) char 배열 buf로 부터 읽어 들이는 CharArrayReader 객체를 생성한다. CharArrayReader(char[] buf, int offset, int length) char 배열 buf의 offset 위치부터 length까지 읽어 들이는 CharArrayR..

문자 스트림 - 키보드로부터 한 줄씩 입력 받아 파일에 저장(PrintWriter)

키보드로부터 한 줄씩 입력 받아 파일에 저장하기 키보드로부터 한 줄 씩 입력받아 파일에 저장하는 예제다. 키보드로부터 한 줄씩 입력 받으려면 System.in과 BufferedReader의 readLine() 메소드를 이용해야 하고 파일에 읽어 들인 내용을 저장하려면 FileWriter, BufferedReader, PrintWriter를 이용해야 한다. import java.io.*; public class LineWriter { public static void main(String[] args) { if(args.length != 1){ System.out.println("사용법 : java LineWriter 파일명"); System.exit(0); } //if BufferedReader br =..

문자 스트림 - PrintWriter

PrintWriter PrintWriter 클래스에는 print(), println() 등의 이름을 가진 다양한 출력 메소드가 있다. print()메소드와 println() 메소드는 여러 종류의 데이터를 출력할 수 있도록 오버로딩되어 있으며 사용자는 그 중에서 원하는 메소드를 선택해서 출력하면 된다. print() 메소드가 다른 점은 println(s)의 경우, 출력시 개행문자를 덧붙여서 출력한다는 것이다. PrintWriter 클래스 생성자 생성자 설명 PrintWriter(OutputStream out) OutputStream out을 인자로 전달받아 PrintWriter 객체를 생성한다. PrintWriter(OutputStream out, boolean autoFlush) OutputStream ..

문자 스트림 - 파일 복사 개선(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() 메소드를 호..

문자 스트림 - 텍스트 파일 복사(FileReader, FileWriter)

FileReader와 FileWriter를 이용한 텍스트 파일 복사 ※ 실제로 개발할 때는 파일을 복사하는 프로그램의 작성은 바이트 단위 IO 클래스인 FileInputStream과 FileOutputStream을 이용하는 것이 좋다. 모든 파일이 바이트 단위로 구성되어 있기 때문이다. import java.io.*; public class FileCopy { public static void main(String[] args) { if(args.length != 2){ System.out.println("사용법 : java FileCopy 파일명1 파일명2"); System.exit(0); } //if FileReader fr = null; FileWriter fw = null; try{ fr = ne..

문자 스트림 - FileReader와 FileWriter

FileReader와 FileWriter FileReader와 FileWriter는 FileInputStream, FileOutputStream과 기능이나 사용법이 비슷하다. FileReader와 FileWriter는 각각 InputStreamReader와 OutputStreamWriter의 자식 클래스로 유니코드 문자열과 바이트의 변환 기능을 포함하고 있다. FileReader 생성자 생성자 설명 FileReader(String filepath) throws FileNotFoundException filepath로 지정한 파일에 대한 FileReader 객체를 생성한다. FileReader(File fileObj) throws FileNotFoundException fileObj로 지정한 파일에 대한 ..

문자 스트림 - 파일 내용 읽어 화면 출력(InputStreamReader, OutputStreamWriter)

문자 단위로 파일 내용을 읽어 들여 화면에 출력하기 파일의 내용을 문자 단위로 읽어 들인 후, 문자 단위로 화면에 출력하는 예제다. 파일의 내용을 읽으려고 FileInputStream을 사용하고, 화면에 출력하려고 System.out(PrintStream)을 사용한다. 그렇지만 각각의 클래스들은 바이트 단위의 IO 클래스다. 따라서 문자 단위로 입출력을 하려면 InputStreamReader와 OutputStreamWriter를 이용해서 문자 단위 입출력으로 변환해야 한다. import java.io.*; public class StreamReaderTest { public static void main(String[] args) { if(args.length != 1){ System.out.printl..