입출력이란?
다른곳에서 데이터가져오는 행위 ( 입력 )
다른곳에서 데이터내보내는 행위 ( 출력 )
자바에서 한글은 글자당 2Bytes를 차지합니다.
내용을 가져올때 사용하는 클래스입니다. (파일 읽기 - 입력 )
InputStream : 1Byte
InputStreamReader : 2Bytes
BufferedReader : 1String(줄 단위)
내용을 내보낼때 사용하는 (파일 쓰기 - 출력)
OutputStream : 1Byte
OutputStreamWriter : 2bytes
BufferedWriter : 1String(줄 단위)
특수목적용으로 개조형
FileReader(InputStreamReader개조) -> 파일내용 불러오기 편하게
FileWriter(OutputStreamWriter개조) -> 파일에 쓰기 편하게
PrintStream(OutputStream개조) -> 다양한 메소드
가져오기 구현
package lesson20_InputOutput;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class Main_fileReader {
public static void main(String[] args) {
BufferedReader bufferedReader = null;
try {
FileReader fileReader = new FileReader("F:\\KyleNoh\\WriteTest.txt");
bufferedReader = new BufferedReader(fileReader);
String line = null;
while ((line = bufferedReader.readLine()) != null) {
System.out.println(line);
}
} catch (Exception e) {
} finally {
try {
bufferedReader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
내보내기 구현
package lesson20_InputOutput;
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Scanner;
public class Main_fileWriter {
public static void main(String[] args) {
Scanner keyBoard = new Scanner(System.in);
System.out.print("내보낼 문장을 입력해주세요 : ");
String str = keyBoard.next();
BufferedWriter buffWriter = null;
try {
FileWriter fileWriter = new FileWriter("F:\\KyleNoh\\WriteTest.txt", true);
buffWriter = new BufferedWriter(fileWriter);
buffWriter.write(str + "\r\n"); // \r : 커서 맨 앞으로
// \n : 줄 바꾸기
buffWriter.flush(); // 용량 다 차지 않아도 강제로 전송
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
buffWriter.close(); // 외부 리소스를 가져다 쓰면 닫아야 합니다.
} catch (IOException e) {
e.printStackTrace();
}
// fileWriter.close(); // 연관된것들은 하나만 닫으면 나머지도 같이 닫힙니다.
keyBoard.close();
}
}
}
'Language > Java' 카테고리의 다른 글
20. Java Socket 네트워킹 (0) | 2020.03.10 |
---|---|
16. Java 예외처리 (0) | 2020.03.08 |
18. Java Collections (0) | 2020.03.08 |
17. Java 문자열 및 유용한클래스 (0) | 2020.03.08 |
15. Java 추상클래스 (0) | 2020.03.08 |