Java 파일 클래스는 파일 또는 디렉토리 경로 이름을 Java로 표현한 것입니다. 파일 및 디렉터리 이름은 플랫폼에 따라 형식이 다르기 때문에 간단한 문자열로는 이름을 지정하는 데 적합하지 않습니다. Java File 클래스에는 경로 이름 작업, 파일 삭제 및 이름 바꾸기, 새 디렉토리 생성, 디렉토리 내용 나열, 파일 및 디렉토리의 여러 공통 속성 결정을 위한 여러 메소드가 포함되어 있습니다.
자바 로고
- 이는 파일 및 디렉터리 경로 이름을 추상적으로 표현한 것입니다.
- 추상 또는 문자열 형식의 경로 이름은 절대 또는 상대일 수 있습니다. 추상 경로명의 부모는 이 클래스의 getParent() 메서드를 호출하여 얻을 수 있습니다.
- 우선, 파일 이름이나 디렉터리 이름을 전달하여 File 클래스 객체를 생성해야 합니다. 파일 시스템은 읽기, 쓰기, 실행과 같은 실제 파일 시스템 개체에 대한 특정 작업에 대한 제한을 구현할 수 있습니다. 이러한 제한을 집합적으로 액세스 권한이라고 합니다.
- File 클래스의 인스턴스는 변경할 수 없습니다. 즉, 일단 생성되면 File 객체가 나타내는 추상 경로 이름은 절대 변경되지 않습니다.
파일 개체를 만드는 방법은 무엇입니까?
File 객체는 파일 이름을 나타내는 문자열, String 또는 다른 File 객체를 전달하여 생성됩니다. 예를 들어,
File a = new File('/usr/local/bin/geeks');> 이는 /usr/local/bin 디렉토리에 있는 geeks 파일에 대한 추상 파일 이름을 정의합니다. 이는 절대적인 추상 파일 이름입니다.
Java의 파일 클래스 필드
| 필드 | 유형 | 설명 |
|---|---|---|
| 경로 구분자 | 끈 | 파일 시스템 경로 목록에서 개별 경로를 구분하는 데 사용되는 문자 또는 문자열입니다. |
| pathSeparatorChar | 숯 | 파일 시스템 경로 목록에서 개별 경로를 구분하는 데 사용되는 문자입니다. |
| 분리 기호 | 끈 | 문자열로 표시되는 기본 이름 구분 문자입니다. |
| 구분 문자 | 숯 | 기본 이름 구분 문자. |
Java 파일 클래스 생성자
- File(File parent, String child): 상위 추상 경로명과 하위 경로명 문자열로부터 새 File 인스턴스를 생성합니다. File(String pathname): 주어진 경로명 문자열을 추상 경로명으로 변환하여 새 File 인스턴스를 생성합니다. File(String parent, String child): 상위 경로명 문자열과 하위 경로명 문자열로부터 새 File 인스턴스를 생성합니다. File(URI uri): 주어진 파일: URI를 추상 경로 이름으로 변환하여 새 File 인스턴스를 생성합니다.
행동 양식 Java의 파일 클래스
| 예 아니오. | 방법 | 설명 | 반환 유형 |
|---|---|---|---|
| 1. | 실행할 수 있습니다() | 애플리케이션이 이 추상 경로 이름으로 표시된 파일을 실행할 수 있는지 여부를 테스트합니다. | 부울 |
| 2. | 읽을 수 있다() | 애플리케이션이 이 추상 경로 이름으로 표시된 파일을 읽을 수 있는지 테스트합니다. | 부울 |
| 삼. | 쓸 수 있다() | 애플리케이션이 이 추상 경로 이름으로 표시된 파일을 수정할 수 있는지 여부를 테스트합니다. | 부울 |
| 4. | CompareTo(파일 경로명) | 두 개의 추상 경로 이름을 사전순으로 비교합니다. | 정수 |
| 5. | 새파일 생성() | 이 추상 경로 이름으로 명명된 새로운 빈 파일을 원자적으로 생성합니다. | 부울 |
| 6. | createTempFile(문자열 접두사, 문자열 접미사) | 기본 임시 파일 디렉터리에 빈 파일을 만듭니다. | 파일 |
| 7. | 삭제() | 이 추상 경로 이름으로 표시된 파일이나 디렉터리를 삭제합니다. | 부울 |
| 8. | 같음(객체 obj) | 이 추상 경로명이 주어진 객체와 동일한지 테스트합니다. | 부울 |
| 9. | 존재합니다() | 이 추상 경로명이 나타내는 파일이나 디렉터리가 존재하는지 테스트합니다. | 부울 |
| 10. | getAbsolutePath() | 이 추상 경로명의 절대 경로명 문자열을 반환합니다. | 끈 |
| 열하나. | 목록() | 디렉터리에 있는 파일과 디렉터리의 이름을 지정하는 문자열 배열을 반환합니다. | 끈[] |
| 12. | getFreeSpace() | 파티션에서 할당되지 않은 바이트 수를 반환합니다. | 긴 |
| 13. | getName() | 이 추상 경로 이름이 나타내는 파일 또는 디렉터리의 이름을 반환합니다. | 끈 |
| 14. | getParent() | 이 추상 경로명의 부모의 경로명 문자열을 반환합니다. | 끈 |
| 열 다섯. | getParent파일() | 이 추상 경로명의 부모의 추상 경로명을 반환합니다. | 파일 |
| 16. | getPath() | 이 추상 경로명을 경로명 문자열로 변환합니다. | 끈 |
| 17. | setReadOnly() | 읽기 작업만 허용되도록 이름이 지정된 파일 또는 디렉터리를 표시합니다. | 부울 |
| 18. | is디렉토리() | 이 경로명이 나타내는 파일이 디렉토리인지 여부를 테스트합니다. | 부울 |
| 19. | is파일() | 이 추상 경로명이 나타내는 파일이 일반 파일인지 여부를 테스트합니다. | 부울 |
| 이십. | isHidden() | 이 추상 경로 이름으로 명명된 파일이 숨겨진 파일인지 테스트합니다. | 부울 |
| 이십 일. | 길이() | 이 추상 경로명이 나타내는 파일의 길이를 반환합니다. | 긴 |
| 22. | 목록파일() | 디렉토리의 파일을 나타내는 추상 경로 이름 배열을 반환합니다. | 파일[] |
| 23. | mkdir() | 이 추상 경로 이름으로 명명된 디렉터리를 만듭니다. | 부울 |
| 24. | renameTo(파일 대상) | 이 추상 경로 이름으로 표시된 파일의 이름을 바꿉니다. | 부울 |
| 25. | setExecutable(부울 실행 파일) | 소유자의 실행 권한을 설정하는 편리한 방법입니다. | 부울 |
| 26. | setReadable(부울 읽기 가능) | 소유자의 읽기 권한을 설정하는 편리한 방법입니다. | 부울 |
| 27. | setReadable(부울 읽기 가능, 부울 소유자만) | 소유자 또는 모든 사람의 읽기 권한을 설정합니다. | 부울 |
| 28. | setWritable(부울 쓰기 가능) | 소유자의 쓰기 권한을 설정하는 편리한 방법입니다. | 부울 |
| 29. | toString() | 이 추상 경로명의 경로명 문자열을 반환합니다. | 끈 |
| 30. | toURI() | 이 추상 경로명을 나타내는 파일 URI를 구성합니다. | 유형 |
Java 파일 클래스 예
예시 1: 파일이나 디렉토리가 물리적으로 존재하는지 확인하는 프로그램입니다.
자바
// In this Java program, we accepts a file or directory name> // from command line arguments. Then the program will check> // if that file or directory physically exist or not and it> // displays the property of that file or directory.> import> java.io.File;> // Displaying file property> class> fileProperty {> >public> static> void> main(String[] args)> >{> >// accept file name or directory name through> >// command line args> >String fname = args[>0>];> >// pass the filename or directory name to File> >// object> >File f =>new> File(fname);> >// apply File class methods on File object> >System.out.println(>'File name :'> + f.getName());> >System.out.println(>'Path: '> + f.getPath());> >System.out.println(>'Absolute path:'> >+ f.getAbsolutePath());> >System.out.println(>'Parent:'> + f.getParent());> >System.out.println(>'Exists :'> + f.exists());> >if> (f.exists()) {> >System.out.println(>'Is writable:'> >+ f.canWrite());> >System.out.println(>'Is readable'> + f.canRead());> >System.out.println(>'Is a directory:'> >+ f.isDirectory());> >System.out.println(>'File Size in bytes '> >+ f.length());> >}> >}> }> |
>
>
산출
File name :file.txt Path: file.txt Absolute path:C:UsersakkiIdeaProjectscodewritingsrcfile.txt Parent:null Exists :true Is writable:true Is readabletrue Is a directory:false File Size in bytes 20>
예시 2: 디렉토리의 모든 내용을 표시하는 프로그램
여기서는 키보드에서 디렉토리 이름을 입력받은 다음 디렉토리의 모든 내용을 표시합니다. 이를 위해 list() 메소드를 다음과 같이 사용할 수 있습니다.
String arr[]=f.list();>
앞의 명령문에서 list() 메소드는 모든 디렉토리 항목을 배열에 복사합니다. 도착[] . 그런 다음 이러한 배열 요소 arr[i]를 File 개체에 전달하고 테스트하여 파일이나 디렉터리를 나타내는지 확인합니다.
자바
// Java Program to display all> // the contents of a directory> import> java.io.BufferedReader;> import> java.io.File;> import> java.io.IOException;> import> java.io.InputStreamReader;> // Displaying the contents of a directory> class> Contents {> >public> static> void> main(String[] args)> >throws> IOException> >{> >// enter the path and dirname from keyboard> >BufferedReader br =>new> BufferedReader(> >new> InputStreamReader(System.in));> >System.out.println(>'Enter dirpath:'>);> >String dirpath = br.readLine();> >System.out.println(>'Enter the dirname'>);> >String dname = br.readLine();> >// create File object with dirpath and dname> >File f =>new> File(dirpath, dname);> >// if directory exists,then> >if> (f.exists()) {> >// get the contents into arr[]> >// now arr[i] represent either a File or> >// Directory> >String arr[] = f.list();> >// find no. of entries in the directory> >int> n = arr.length;> >// displaying the entries> >for> (>int> i =>0>; i System.out.println(arr[i]); // create File object with the entry and // test if it is a file or directory File f1 = new File(arr[i]); if (f1.isFile()) System.out.println(': is a file'); if (f1.isDirectory()) System.out.println(': is a directory'); } System.out.println( 'No of entries in this directory ' + n); } else System.out.println('Directory not found'); } }> |
>
>
산출
Enter dirpath: C:UsersakkiIdeaProjects Enter the dirname codewriting .idea : is a directory an1.txt : is a file codewriting.iml : is a file file.txt : is a file out : is a directory src : is a directory text : is a file No of entries in this directory 7>
관련 게시물: Java의 FileReader 및 FileWriter