java.io.File 클래스
파일이나 폴더에 대한 정보를 제공하는 클래스
객체 생성하기
대상의 절대 경로를 통해 객체를 생성하는 경우
File file = new File("C:\photo\food.jpg");
상대경로를 통해 객체를 생성하는 경우
File file = new File("../food.jpg");
폴더와 파일이름을 나누어서 생성자에 전달하는 경우
File file = new File("C:\photo", "food.jpg");
주어진 경로의 파일이나 폴더가 실제로 존재하지 않아도 객체 생성 가능
File 클래스의 메서드
메서드 |
설명 |
boolean isFile() |
존재하지 않거나 폴더인 경우 false 리턴 |
boolean isDirectory() |
존재하지 않거나 파일인 경우 false 리턴 |
boolean isHidden() |
숨김파일/폴더인지 검사 |
String getAbsolutePath() |
절대경로 값을 추출 |
boolean mkdirs() |
폴더 생성하기 |
boolean delete() |
삭제하기 |
Stream이란?
- 디바이스의 종류에 구애받지 않고 일관된 방식으로 입출력이 수행되도록 추상화 된 형태
- 데이터를 byte[] 형식으로 변환한 상태를 의미한다.
java.io.OutputStream
- 스트림 데이터를 프로그램 외부로 내보내는 기능을 제공하는 인터페이스
- 파일 쓰기 기능을 제공하기 위해서 FileOutputStream 클래스에 상속되어 있다.
- 파일 외의 형태로 데이터를 내보내기 위해 ByteArrayOutputStream에도 상속되어 있다. (ex. 네트워크를 통한 송출기능)
파일저장할 때 빨간 체크박스만 변경하면 된다.
java.io.InputStream
- 스트림 데이터를 프로그램 내부로 읽어내는 기능을 제공하는 인터페이스
- 파일 읽기 기능을 제공하기 위해서 FileInputStream 클래스에 상속되어 있다.
- 파일 외의 형태로 데이터를 가져오기 위해 ByteArrayInputStream에도 상속되어 있다. (ex. 네트워크를 통한 수신 기능)
FileOutputStream을 통한 파일 읽기 패턴
파일을 불러서 용량만큼 바이트크기로 data에 저장하고 저장된 내용을 읽는다.
만약 data가 null이 아니라면 String으로 utf-8로 문자열로 변환하여 저장