JAVA/JAVA수업

#14. I.O(Writer/Reader), buffer, Collection, List

열하나요 2023. 7. 20. 10:55

14-1. I.O(Writer/Reader)

# 문자스트림 (2Byte)

1. 출력(writer)

public void fileSave() {

	FileWriter fw = null;
    try {
    	fw = new FileWriter("b_char.txt");
        fw.write("룰루랄라");
        char[] arr = {'a', 'b', 'c', 'd'};
        fw.write(arr);
    } catch(IOException e) {
    	e.printStackTrace();
    } finally {
    	fry {
        	if(fw != null) fw.close();
        } catch(IOException e) {
        	e.printStackTrace();
        }
    }
}

FileWriter() : 파일과 연결된 통로를 만든다.

write() 를 이용하여 데이터를 출력할 수 있다. 

Close() 로 자원반납을 해준다. 

 

2. 입력(reader)

public void fileRead() {
	FileReader fr = null;
    try {
    	fr = new FileReader("b_char.txt");
        
        int value = 0;
        while((value = fr.read()) != -1) {
        	System.out.print((char)value);
        }
    } catch(IOException e) {
    	e.printStacktrace();
    } finally {
    	try {
        	if(fr != null) fr.close();
        } catch(IOException e) {
        	e.printStackTrace();
        }
    }
}

FileReader() : 파일과 연결된 통로를 만든다.

read() 를 이용하여 데이터를 입력할 수 있다.

Close()로 자원반납까지!

 

14-2. Buffered

기반 스트림 : 외부매체와 직접적으로 연결되는 통로

보조 스트림 : 기반스트림만으로 부족한 성능을 향상시켜주는 용도로 만들어진 스트림

둘은 같은 계열의 스트림을 사용한다.

 

1. 출력(BufferedWriter) : 퍼버공간을 제공해서 한꺼번에 출력을 진행하는 스트림

public void fileSaver() {

	FileWriter fw = null;
    BufferedWriter bw = null;
    
    try {
    	fw = new FileWriter("c_buffer.txt");
        bw = new BufferedWriter(fw);
        bw.write("안녕하세요!");
        bw.write("\n반갑습니다!");
        bw.newLine();
    } catch(IOException e) {
    	e.printStackTrace();
    } finally {
    	try {
        	bw.close();
            fw.close();
        } catch(IOException e) {
        	e.printStackTrace();
        }
    }
}

FileWriter() : 파일과 연결된 통로를 만든다. + BufferedWriter() : 보조스트림 객체를 생성한다.

write() 를 이용하여 데이터를 출력할 수 있다. 

Close() 로 자원반납을 해준다. 반납시에는 생성된 자원의 역순으로 반납한다! (보조스트림 반납 후 기반스트림 반납)

 

2. 입력(BufferedReader) : FileReader를 기반으로 BufferedReader를 추가해서 사용

public void fileRead() {
	FileReader fr = null;
	BufferedReader br = null;
    try(BufferedReader bfr = new BufferedReader(new FileReader("c_buffer.txt"))) {
    	String str = "";
        while((str = bfr.readLine()) != null) {
        	System.out.println(str);
        }
    } catch(IOException e) {
    	e.printStackTrace();
    }
}

FileReader() : 파일과 연결된 통로를 만든다. + BufferedReader() : 보조스트림 객체를 생성한다.

read() 를 이용하여 데이터를 출력할 수 있다. 

Close() 로 자원반납을 해준다. 

 

 

'JAVA > JAVA수업' 카테고리의 다른 글

#16. Test2 / 과제  (0) 2023.07.24
#15. Set  (0) 2023.07.21
#13. API, I.O(Input/Output)  (0) 2023.07.19
#12. 추상클래스, 인터페이스, 예외처리  (0) 2023.07.18
#11. 상속, 다형성  (0) 2023.07.17