JAVA/JAVA
Java | I/O File Class
pathas
2020. 2. 7. 18:47
File 클래스
파일이라는 개념을 추상화한 클래스
- 파일에 대한 입출력은 기반 스트림으로 수행
- 파일 자체의 경로나 정보를 알 수 있고 파일 생성 및 삭제 가능
주요 생성자
생성자 | 설명 |
---|---|
File(String pathname) | pathname을 매개변수로 받아 파일 생성 |
메소드
메소드 | 설명 |
---|---|
boolean createNewFile() | pathname으로 생성된 File 객체를 실제 파일로 생성 파일이 성공적으로 생성되면 true 반환 동일한 파일명의 파일이 있는 경우 false 반환 |
boolean isFile() | 해당 파일이 정상적인 파일인 경우에 true 반환 |
boolean isDirectory() | 해당 파일이 정상적인 폴더인 경우 true 반환 |
String getName() | 해당 파일 또는 폴더의 이름을 반환 |
String getAbsolutePath() | 파일 또는 폴더의 절대 경로 반환 |
String getPath() | 파일 또는 폴더 경로를 문자열로 반환 파일 객체가 생성될 때 매개변수로 받은 path가 반환됨 |
boolean canRead() | 해당 파일을 읽을 수 있는 경우에 true 반환 |
boolean canWrite() | 해당 파일에 쓸 수 있는 경우에 true 반환 |
delete() | 파일 또는 폴더를 제거하고 성공적으로 제거된 경우 true 반환 |
예제
package j200207;
import java.io.File;
import java.io.IOException;
public class FileTest {
public static void main(String[] args) throws IOException {
// 해당 경로/파일명.확장자를 매개변수로 받아서 File 객체 생성
File f = new File("fileTest.txt");
// f 객체를 비어있는 파일로 생성
Boolean b = f.createNewFile();
System.out.println(b); // true
// f가 실제 파일인지 확인
Boolean b2 = f.isFile();
System.out.println(b2); // true
// f가 폴더인지 확인
Boolean b3 = f.isDirectory();
System.out.println(b3); // false
// 파일의 이름을 가져 옴
String name = f.getName();
System.out.println(name); // fileTest.txt
// 파일의 절대 경로를 가져옴
String absPath = f.getAbsolutePath();
System.out.println(absPath);
// C:\webtest\3.java\JAVA-Study\200207\fileTest.txt
// 객체 생성시 지정된 파일 경로를 가져옴
String path = f.getPath();
System.out.println(path); //fileTest.txt
// 파일을 읽을 수 있는지 확인
Boolean b4 = f.canRead();
System.out.println(b4); // true
// 파일에 쓸 수 있는지 확인
Boolean b5 = f.canWrite();
System.out.println(b5); // true
// 파일 삭제
Boolean b6 = f.delete();
System.out.println(b6); // true
}
}
파일 입출력시 유용하게 사용할 수 File 클래스에 대해 알아보았습니다.
File 클래스는 그 자체로 데이터를 읽거나 쓸 수는 없지만
파일에 대한 다양한 정보를 얻어낼 수 있고 파일의 생성과 삭제가 가능합니다.
기반 스트림을 통한 파일 입출력시 File 클래스에 대해서도 알고 있다면
보다 효율적으로 파일 입출력을 수행할 수 있을 것입니다..