2025.01.16 (목) 24일차 / File
코딩을 할 때 파일을 사용하려고 불러와야 될 상황이 있습니다. 자바는 파일을 읽고 쓰는 다양한 방법을 제공하며 이를 통해 파일을 조작할 수 있습니다.
1. File : 파일을 다루기 위한 기본 클래스
- File 클래스는 파일과 디렉토리의 경로를 다루는 데 사용됩니다.
- 파일의 존재 여부를 확인, 파일 생성, 삭제, 이동하는 작업을 할 수 있습니다.
1-1. 주요 메소드
- exists() : 파일이 존재하는지 확인
- createNewFile() : 새로운 파일 생성
- delete() : 파일 삭제
- isDirectory() : 경로가 디렉토리인지 확인
2. 기반 스트림과 보조 스트림
- 스트림 : 스트림은 데이터의 흐름을 의미하며, 프로그램과 데이터를 주고받는 통로 역할을 합니다. 데이터를 읽거나 쓸 때 사용되며 주로 파일, 네트워크 소켓, 메모리 등을 통해 데이터를 처리할 때 사용됩니다.
- 파일이나 네트워크와 같은 외부 자원과 연결되므로 예상치 못한 상황이 발생할 가능성이 높아서 try-catch 문으로 예외처를 꼭 해주어야 합니다.
2-1. 기반 스트림
- 데이터를 직접 읽거나 쓰는 역할만 수행합니다
ex) FileInputStream, FileOutputStream, FileReader, FileWriter
2-2. 보조 스트림
- 기본 스트림의 기능을 확장하거나 성능을 개선하기 위해 사용됩니다.
- 데이터를 버퍼링하거나 형식 변환 등의 추가 기능을 제공합니다.
ex) BufferedInputStream, BufferedReader, DataInputStream, ObjectOutputStream
3. 입출력 스트림
- 입력 스트림(Input Stream) : 외부 자원에서 데이터를 읽어오는 통로
ex) 파일에서 텍스트 읽기, 네트워크에서 데이터 받기
- 출력 스트림(Output Stream) : 데이터를 외부 자원으로 내보내는 통로
ex) 파일에 텍스트 쓰기, 네트워크로 데이터 보내기
3-1 입출력 스트림의 흐름
1. 파일을 열거나 스트림 객체 생성
2. 파일 쓰기 스트림의 흐름
3. 파일 읽기와 쓰기 (문자 스트림(BufferedStream) 사용)