-
Java | I/O File ClassJAVA/JAVA 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 클래스에 대해서도 알고 있다면
보다 효율적으로 파일 입출력을 수행할 수 있을 것입니다..
'JAVA > JAVA' 카테고리의 다른 글
Java | Collection Framework 컬렉션 프레임워크 (0) 2020.02.07 Java | Wrapper Class (0) 2020.02.07 Java | Serialization 직렬화 (0) 2020.02.07 Java | I/O 보조 스트림 (0) 2020.02.06 Java | I/O 문자 단위 스트림 (0) 2020.02.06