Клас файлу Java — це представлення Java шляху до файлу або каталогу. Оскільки імена файлів і каталогів мають різні формати на різних платформах, простого рядка не можна назвати. Клас Java File містить кілька методів для роботи з іменем шляху, видалення та перейменування файлів, створення нових каталогів, перерахування вмісту каталогу та визначення кількох загальних атрибутів файлів і каталогів.
- Це абстрактне представлення файлів і шляхів до каталогів.
- Шлях, абстрактний чи у формі рядка, може бути абсолютним або відносним. Батьківський елемент абстрактного шляху може бути отриманий шляхом виклику методу getParent() цього класу.
- Перш за все, ми повинні створити об’єкт класу File, передавши йому ім’я файлу або ім’я каталогу. Файлова система може реалізовувати обмеження на певні операції над фактичним об'єктом файлової системи, такі як читання, запис і виконання. Ці обмеження спільно відомі як дозволи на доступ.
- Екземпляри класу File незмінні; тобто після створення абстрактний шлях, представлений об’єктом File, ніколи не зміниться.
Як створити файловий об'єкт?
Об’єкт File створюється шляхом передачі рядка, який представляє назву файлу, String або іншого об’єкта File. Наприклад,
File a = new File('/usr/local/bin/geeks');> Це визначає абстрактну назву файлу для файлу geeks у каталозі /usr/local/bin. Це абсолютна абстрактна назва файлу.
Поля в класі файлів у Java
| Поле підрядок у bash | Тип | опис |
|---|---|---|
| pathSeperator | Рядок | символ або рядок, який використовується для розділення окремих шляхів у списку шляхів файлової системи. |
| pathSeperatorChar | Чар | символ, який використовується для розділення окремих шляхів у списку шляхів файлової системи. |
| сепаратор | Рядок | символ роздільника імені за замовчуванням, представлений у вигляді рядка. |
| separatorChar | Чар | символ роздільника імені за замовчуванням. |
Конструктори Java File Class
- Файл (батьківський файл, дочірній рядок): створює новий екземпляр файлу з батьківського абстрактного шляху та дочірнього рядка шляху. File(String pathname): створює новий екземпляр File шляхом перетворення заданого рядка шляху в абстрактний шлях. Файл (батьківський рядок, дочірній рядок): створює новий екземпляр файлу з батьківського рядка шляху та дочірнього рядка шляху. File(URI uri): створює новий екземпляр File шляхом перетворення наданого файлу: URI на абстрактний шлях.
методи класу файлів у Java
| Так ні. | метод | опис | Тип повернення |
|---|---|---|---|
| 1. | canExecute() | Перевіряє, чи може програма виконати файл, позначений цим абстрактним шляхом. | логічний |
| 2. | canRead() | Перевіряє, чи може програма прочитати файл, позначений цим абстрактним шляхом. | логічний |
| 3. | canWrite() | Перевіряє, чи може програма змінити файл, позначений цим абстрактним шляхом. | логічний |
| 4. | compareTo(шлях до файлу) | Лексикографічно порівнює два абстрактні шляхи. | внутр |
| 5. | createNewFile() | Атомарно створює новий порожній файл із цим абстрактним шляхом. | логічний |
| 6. | createTempFile(префікс рядка, суфікс рядка) | Створює порожній файл у типовому каталозі тимчасових файлів. | Файл |
| 7. | видалити() | Видаляє файл або каталог, позначений цим абстрактним шляхом. | логічний |
| 8. | дорівнює (Object obj) | Перевіряє цей абстрактний шлях на відповідність даному об’єкту. | логічний |
| 9. | існує() | Перевіряє, чи існує файл або каталог, позначений цим абстрактним шляхом. | логічний |
| 10. | getAbsolutePath() | Повертає абсолютний рядок цього абстрактного шляху. | Рядок |
| одинадцять. | список() | Повертає масив рядків із назвами файлів і каталогів у каталозі. | рядок [] |
| 12. | getFreeSpace() | Повертає кількість нерозподілених байтів у розділі. | довго |
| 13. | getName() | Повертає назву файлу або каталогу, позначеного цим абстрактним шляхом. | Рядок |
| 14. | getParent() | Повертає рядок назви цього абстрактного батьківського шляху. | Рядок |
| п'ятнадцять. | getParentFile() | Повертає абстрактний шлях батька цього абстрактного шляху. | Файл |
| 16. | getPath() | Перетворює цей абстрактний шлях на рядок імені шляху. | Рядок |
| 17. | setReadOnly() | Позначає файл або каталог, названі так, що дозволені лише операції читання. | логічний |
| 18. | isDirectory() | Перевіряє, чи є файл, позначений цим шляхом, каталогом. | логічний |
| 19. | isFile() | Перевіряє, чи є файл, позначений цим абстрактним шляхом, звичайним файлом. | логічний |
| двадцять. | isHidden() | Перевіряє, чи є файл, названий цим абстрактним шляхом, прихованим файлом. | логічний |
| двадцять один. | довжина() | Повертає довжину файлу, позначеного цим абстрактним шляхом. | довго |
| 22. | listFiles() | Повертає масив абстрактних імен шляхів, що позначають файли в каталозі. | Файл[] |
| 23. | mkdir() | Створює каталог із цим абстрактним шляхом. | логічний |
| 24. | renameTo(File dest) | Перейменовує файл, позначений цим абстрактним шляхом. | логічний |
| 25. | setExecutable(логічний виконуваний файл) | Зручний метод встановлення дозволу власника на виконання. | логічний |
| 26. | setReadable (логічне значення для читання) | Зручний спосіб встановити дозвіл власника на читання. | логічний |
| 27. | setReadable(логічне значення для читання, логічне значення ownerOnly) | Встановлює дозвіл на читання власника або всіх. | логічний |
| 28. | setWritable (логічне значення для запису) | Зручний метод встановлення дозволу власника на запис. | логічний |
| 29. | toString() | Повертає рядок цього абстрактного шляху. | Рядок |
| 30. | toURI() | Створює URI файлу, який представляє цей абстрактний шлях. | ТИП |
Приклади класів файлів Java
приклад 1: Програма для перевірки фізичного існування файлу чи каталогу.
Java
метод java дорівнює
// 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());> >}> >}> }> |
>
логотип java
>
Вихід
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
перерва java
// 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>
Схожий пост: FileReader і FileWriter в Java