JAVA 8 에서 파일 읽는 방법
파일 읽기
FileInputStream fileInputStream = null;
InputStreamReader inputStreamReader = null;
BufferedReader reader = null;
String file = "(파일 절대 경로 + 파일명)";
# 혹은 File file = new File(file);
# FileInputStream 인자로 경로(String), 파일(File) 둘다 가능
try{
fileInputStream = new FileInputStream(file);
inputStreamReader = new InputStreamReader(fileInputStream, "utf-8");
reader = new BufferedReader(inputStreamReader);
String str = null;
while ((str = reader.readLine()) != null) {
System.out.println(str);
}
}catch(IOException e){
System.out.println(e);
}finally{
fileInputStream.close();
inputStreamReader.close();
reader.close();
}
- FileInputStream : 파일에서 바이트 스트림을 읽음.
- InputStreamReader : 바이트 스트림에서 문자 스트림으로 연결, 따라서 이때 utf-8로 인코딩 필요
1바이트씩 읽기 때문에 효율성을 위해서는 BufferedReader와 같이 사용하는 것을 권장함.
- BufferedReader : 문자를 효율적으로 읽을 수 있도록 도와줌.
파일 쓰기
FileOutputStream fileOutputStream = null;
OutputStreamWriter outputStreamWriter = null;
BufferedWriter writer = null;
String file = "(파일 절대 경로 + 파일명)";
# 혹은 File file = new File(file);
# FileOutputStream 인자로 경로(String), 파일(File) 둘다 가능
try{
fileOutputStream = new FileOutputStream(file);
outputStreamWriter = new outputStreamWriter(fileOutputStream, "utf-8");
writer = new BufferedWriter(outputStreamWriter);
writer.write("작성");
writer.newLine();
writer.flush();
}catch(IOException e){
System.out.println(e);
}finally{
fileOutputStream.close();
outputStreamWriter.close();
writer.close();
}
** 파일 읽을 때 사용한 클래스들과 매칭됨.
- FileOutputStream : 파일에서 바이트 스트림을 씀.
- OutputStreamReader : 문자 스트림에서 바이트 스트림으로 연결, 따라서 이때 utf-8로 인코딩 필요
1바이트씩 읽기 때문에 효율성을 위해서는 BufferedWriter와 같이 사용하는 것을 권장함.
- BufferedWriter : 문자를 효율적으로 읽을 수 있도록 도와줌.
'Backend > JAVA' 카테고리의 다른 글
[JAVA] LocalDateTime to String과 String to LocalDateTime (0) | 2022.11.09 |
---|---|
[JAVA] 파일 작성 시 잘릴 때(?) BufferedWriter 클래스 flush() (0) | 2022.10.24 |
[IntelliJ] jdk 18 한글 깨짐 (해결 방법 : jdk 버전 변경하기) (0) | 2022.08.02 |
[JAVA] split 함수 .(점) 동작 안될때 (java.lang.ArrayIndexOutOfBoundsException: Index 0 out of bounds for length 0 에러) (0) | 2022.04.21 |
[JAVA] 이차원 문자열 배열 정렬 (2) | 2021.02.06 |
댓글