파일 시스템의 파일을 다루기 위한 클래스
파일 크기, 속성, 이름 등 정보 확인, 생성 및 삭제 등
리턴 타입 | 메소드 | 설명 |
---|---|---|
boolean | createNewFile() | 새로운 파일 생성 |
boolean | mkdir() | 새로운 디렉토리 생성 |
boolean | mkdirs() | 경로 상에 없는 모든 디렉토리 생성 |
boolean | delete() | 파일 또는 디렉토리 삭제 |
--- | --- | --- |
boolean | canExecute() | 실행할 수 있는 파일인지 여부 |
boolean | canRead() | 읽을 수 있는 파일인지 여부 |
boolean | canWrite() | 수정 및 저장할 수 있는 파일인지 여부 |
String | getName() | 파일 이름 리턴 |
String | getParent() | 부모 디렉토리 리턴 |
File | getParentFile() | 부모 디렉토리를 File객체로 생성 후 리턴 |
String | getPath() | 전체 경로 리턴 |
boolean | isDirectory() | 디렉토리인지 여부 |
boolean | isFile() | 파일인지 여부 |
boolean | isHidden() | 숨김 파일인지 여부 |
long | lastModified() | 마지막 수정 날짜 및 시간 리턴 |
long | length() | 파일 크기 리턴 |
바이트 단위(영어, 숫자, 특수기호 사용 시)
InputStream
FileInputStream, BufferedInputStream, DataInputStream
OutputStream
FileOutputStream, BufferedOutputStream, DataOutputStream, PrintStream
문자 단위(한글까지 사용 시)
Reader
FileReader, InputStreamReader, BufferedReader
Writer
FileWriter, OutputStreamWriter, BufferedWriter, PrintWriter
스트림의 기능을 향상시키거나 새로운 기능을 추가하기 위해 사용
입출력 처리는 불가능 하고 기반 스트림에 추가로 적용
종류
입출력 성능 향상
입출력 속도 향상 및 한 줄씩 출력 및 입력 관련 메소드 제공 보조 스트림
BufferedInputStream/BufferedOutputStream : 바이트 입출력을 버퍼링하는 클래스
BufferedReader/BufferedWriter : 문자 입출력을 버퍼링하는 클래스
형변환 보조스트림
InputStreamReader/OutputStreamWriter
기본 자료형 데이터 입출력
DataInputStream/DataOutputStream
객체 자료형 데이터 입출력
ObjectInputStream/ObjectOutputStream
try (DataOutputStream dos = new DataOutputStream(new BufferedOutputStream(new FileOutputStream("data.dat")))) {
dos.writeInt(123);
dos.writeDouble(456.78);
} catch (IOException e) {
e.printStackTrace();
}
try (DataInputStream dis = new DataInputStream(new BufferedInputStream(new FileInputStream("data.dat")))) {
int intValue = dis.readInt();
double doubleValue = dis.readDouble();
System.out.println("Read int: " + intValue);
System.out.println("Read double: " + doubleValue);
} catch (IOException e) {
e.printStackTrace();
}
Java 1.4에서 도입된 I/O API로, 기존의 java.io 패키지에 비해 비동기적이고 버퍼 지향적인 방식으로 데이터 입출력을 처리하는 기능을 제공
주요 특징
장점