입출력 스트림과 버퍼 스트림
입출력 스트림
입력 스트림 : 키보드나 마우스(입력장치)로부터 자바 프로그램으로 데이터를 전달
출력 스트림 : 모니터나 스피커(출력장치)에 데이터 출력
스트림 종류
바이트 스트림(Byte) : 입출력되는 데이터를 단순 바이트로 처리한다 ex) 이미지, 사진, 동영상
문자 스트림(String) : 문자만 입출력하는 스트림 ex) 텍스트 파일
스트림 기능
바이트 스트림(입/출력) : 바이트 단위의 바이너리 값을 읽고 쓰는 스트림 클래스 종류
1. InputStream / OutputStream (interface)
2. FileInputStream / FileOutputStream
3. DataInputInputStream / DataInputOutputStream
*바이너리 파일의 값을 저장하고 읽으면 저장했던 그대로의 모습이 남아있지만 3번 클래스의 경우, 바이너리 형태로 바꿔 저장된다
=========[ InputStream ]============
파일을 읽어오는 방법
FileInputStream fin = new FileInputStream("파일경로");
=========[ OutputStream ]============
파일을 생성+읽어오는 법
FileInputStream fout = new FileInputStream("파일경로");
파일에 내용을 저장하는 법
fout.write(byte b);
파일을 닫는 방법
fout.close();
문자 스트림(입/출력) : 유니 코드 문자를 입출력하는 스트림
클래스 종류
1. Reader / Writer (interface)
2. InputStreamReader / OutputStreamWriter
3. FileReader / FileWriter
=========[ Reader ]============
파일을 읽어오는 방법
FileReader fin = new FileReader("파일경로");
인코딩 방식이 다른 경우 읽어오는 방법
FileInputStream fin = new FileInputStream("파일경로");
InputStreamReader in = new InputStreamReader(fin , "인코딩유형"); // ex 한글파일 인코딩 유형 : "MS949"
=========[ Writer ]============
파일을 생성+불러오는 방법
FileWriter fout = new FileWriter("파일경로");
파일에 내용을 저장하는 메소드
문자 -> fout.write('A');
문자열 -> fout.write("ABCDEFGHIJ", 0, 10);
파일을 닫는 메소드
fin.close();
버퍼 스트림
입출력 데이터를 일시적으로 저장하는 버퍼를 이용하여 입출력 효율 개선
이외엔 입출력 스트림과 유사하다
버퍼 스트림의 종류
바이트 버퍼 스트림 : BufferedInputStream / BufferedOutputStream
문자 버퍼 스트림 : BufferedReader / BufferedWriter
버퍼 스트림의 특이점
1. flush() 메서드로 모아두었던 버퍼를 파일에 저장할 수 있음
2. close() 자동적으로 flush()가 실행됨
'JAVA' 카테고리의 다른 글
[JAVA] [끄적임] 제네릭 (generics) (0) | 2022.08.29 |
---|---|
[JAVA] [끄적임] Comparable & Comparator (0) | 2022.08.29 |
[JAVA] [끄적임] 인터페이스 간단 정리 (0) | 2022.08.24 |
[JAVA] [끄적임] 쓰레드의 기능 정리 (0) | 2022.08.24 |
[JAVA] [끄적임] 메소드 오버라이딩 (+링크드 리스트) (0) | 2022.08.24 |