본문으로 바로가기

파일 입출력

category Backend/Java 2018. 12. 17. 10:49

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로 문자열로 변환하여 저장

'Backend > Java' 카테고리의 다른 글

DAO  (0) 2018.12.18
JSON  (0) 2018.12.18
컬렉션 프레임워크  (0) 2018.12.17
예외처리  (0) 2018.12.14
Package, Library, ClassPath  (0) 2018.12.11