Backend/JAVA
[JAVA] 파일 읽기, 쓰기 (한글 가능)
그적
2022. 10. 24. 19:31
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 : 문자를 효율적으로 읽을 수 있도록 도와줌.