Java
I/O
CharacterStream
Writer 클래스
- Writer의 주요 메소드
- void write(int value)
- void write(char[] buf)
- 지정된 char[]배열에 저장된 문자를 전부 출력한다.
- void write(char[] buf, int offset, int length)
- 지정된 char[]배열에 저장된 데이터를 offset위치부터 lengh만큼 출력한다.
- void write(String text)
- void flush()
- 스트림의 내부저장소가 채워지지 않아도 강제로 목적지로 출력시킨다.
- void close()
- 애플리케이션이 사용했던 시스템의 입출력 자원을 반환한다.
- 주요클래스
- FileWriter
- BufferedWriter
- OutputStreamWriter
- OutputStream과 Writer를 연결하는 스트림이다.
- PrintWriter
- 출력전용 스트림이다.
- 개행문자로 자동으로 추가한다.
- Writer 실습
FileWriter writer = new FileWriter("c:/files/sample.txt");
write.write("연습");
PrintWriter writer = new PrintWriter("c:/files/sample.txt");
writer.println("텍스트내용");
PrintWriter writer = new PrintWriter(new FileWriter("c:/files/sample.txt"));
writer.println("텍스트내용");
Socket socket = new Socket("192.168.10.100", 3000);
PrintWriter writer = new PrintWriter(new OutputStreamWriter(socket.getOutputStream()))
writer.println("텍스트내용");
입출력 작업 하기
- 일반적인 파일의 복사 및 저장 작업
+ FileInputStream, FileOutputStream, Apache Commons IO의 IOUtils 을 사용한다.
- 텍스트 파일의 처리
- 텍스트 내용을 읽어서 분석하는 작업, 텍스트를 출력하는 작업)
+ BufferedReader, FileReader, PrintWriter를 사용한다.
package day2;
import java.io.IOException;
import java.io.PrintWriter;
public class WriterApp1 {
public static void main(String[] args) throws IOException {
PrintWriter writer = new PrintWriter("src/day2/sample1.txt");
writer.write("김유신,100,100,100");
writer.write("김유신,100,100,100");
writer.write("김유신,100,100,100");
writer.write("김유신,100,100,100");
writer.write("김유신,100,100,100");
writer.println();
writer.println("김유신,100,100,100");
writer.println("김유신,100,100,100");
writer.println("김유신,100,100,100");
writer.println("김유신,100,100,100");
writer.println("김유신,100,100,100");
writer.println("김유신,100,100,100");
writer.close();
}
}