java2019. 9. 22. 00:04

텍스트 기반의 파일을 다룰 경우, FileWriterBufferedWriter를 활용한다.

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();
				}
			}
		}
		
		
		
		
	}
	


출처 : 자바의 신

Posted by easy16