텍스트 기반의 파일을 다룰 경우, FileWriter 및 BufferedWriter를 활용한다.
FileWriter 만 사용해도 되지만 그럴 경우, buffer를 사용하지 않으므로 비효율적 따라서 BufferedWriter를 사용한다.
종료시 close는 반드시 호출할 수 있도록 하며, try ~ finally 구문에 넣어주는 것이 좋다.
왜냐하면 예외 발생시, close()를 호출하지 않고 종료될 수 있기 때문.
자세한 내용은 예제를 통해 참조
public class StreamTest { public StreamTest() { super(); this.test(); } private void test() { String fullPath = "C:"+File.separator+"Users"+File.separator+"Lee"+File.separator+"test"+File.separator+"numbers.txt"; writeFile(fullPath,10); } private void writeFile(String fullPath, int i) { FileWriter fileWriter=null; BufferedWriter bufferedWriter=null; try { //fileWriter= new FileWriter(fullPath); //write mode. fileWriter= new FileWriter(fullPath, true);//append mode bufferedWriter = new BufferedWriter(fileWriter); for ( int loop=0; loop < i ; loop ++) { bufferedWriter.write(Integer.toString(loop)); bufferedWriter.newLine(); } System.out.println("Write done!"); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } finally { if( bufferedWriter!=null) { try { bufferedWriter.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } if (fileWriter != null) { try { fileWriter.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } }
출처 : 자바의 신
'java' 카테고리의 다른 글
Serializable interface, transient 예약어, FileInputStream, FileOutputStream, ObjectInputStream, ObjectOutputStream 예제 (0) | 2019.09.22 |
---|---|
FileReader 및 BufferedReader + (Scanner) (0) | 2019.09.22 |
FileFilter , FileNameFilter interface (0) | 2019.09.21 |
Thread interrupt 및 getState 예제 (0) | 2019.09.21 |
synchronized 정리 (0) | 2019.09.21 |