Рубрики

Класс Java.io.File в Java

Класс File — это представление Java файла или пути к каталогу. Поскольку имена файлов и каталогов имеют разные форматы на разных платформах, простая строка не подходит для их имен. Класс File содержит несколько методов для работы с именем пути, удаления и переименования файлов, создания новых каталогов, перечисления содержимого каталога и определения нескольких общих атрибутов файлов и каталогов.

  • Это абстрактное представление имен файлов и каталогов.
  • Имя пути, будь то абстрактное или в виде строки, может быть абсолютным или относительным. Родитель абстрактного пути может быть получен путем вызова метода getParent () этого класса.
  • Прежде всего, мы должны создать объект класса File, передав ему имя файла или имя каталога. Файловая система может реализовывать ограничения для определенных операций с фактическим объектом файловой системы, таких как чтение, запись и выполнение. Эти ограничения известны как разрешения на доступ.
  • Экземпляры класса File являются неизменяемыми; то есть после создания абстрактный путь, представленный объектом File, никогда не изменится.

Как создать объект File?
Объект File создается путем передачи строки, представляющей имя файла, или строки или другого объекта File. Например,

 File a = new File("/usr/local/bin/geeks");

определяет абстрактное имя файла для гиков в каталоге / usr / local / bin. Это абсолютное абстрактное имя файла.

Конструкторы

  • Файл (File parent, String child): Создает новый экземпляр File из родительского абстрактного пути и строки дочернего пути.
  • File (String pathname): Создает новый экземпляр File путем преобразования заданной строки имени пути в абстрактный путь.
  • Файл (String parent, String child): Создает новый экземпляр File из строки родительского пути и строки дочернего пути.
  • Файл (URI uri): Создает новый экземпляр File путем преобразования указанного файла: URI в абстрактный путь.

методы

  1. boolean canExecute (): проверяет, может ли приложение выполнить файл, обозначенный этим абстрактным путем.
  2. boolean canRead () : проверяет, может ли приложение прочитать файл, обозначенный этим абстрактным путем.
  3. boolean canWrite (): Проверяет, может ли приложение изменить файл, обозначенный этим абстрактным путем.
  4. int compareTo (File pathname): сравнивает два абстрактных пути лексикографически.
  5. boolean createNewFile (): атомно создает новый, пустой файл с именем этого абстрактного пути.
  6. статический файл createTempFile (префикс String, суффикс String): создает пустой файл в каталоге временных файлов по умолчанию.
  7. boolean delete (): Удаляет файл или каталог, обозначенный этим абстрактным путем.
  8. boolean equals (Object obj): проверяет это абстрактное имя пути на равенство с данным объектом.
  9. boolean exist () : Проверяет, существует ли файл или каталог, обозначенный этим абстрактным путем.
  10. String getAbsolutePath (): Возвращает строку абсолютного пути этого абстрактного пути.
  11. long getFreeSpace (): возвращает количество нераспределенных байтов в разделе.
  12. String getName (): возвращает имя файла или каталога, обозначенного этим абстрактным путем.
  13. String getParent (): Возвращает строку пути родителя этого абстрактного пути.
  14. Файл getParentFile (): возвращает абстрактный путь родителя этого абстрактного пути.
  15. String getPath (): преобразует этот абстрактный путь в строку пути.
  16. boolean isDirectory (): проверяет, является ли файл, обозначенный этим путем, каталогом.
  17. boolean isFile (): Проверяет, является ли файл, обозначенный этим абстрактным путем, нормальным файлом.
  18. boolean isHidden (): Проверяет, является ли файл, названный этим абстрактным путем, скрытым файлом.
  19. long length (): возвращает длину файла, обозначенного этим абстрактным путем.
  20. String [] list (): возвращает массив строк с именами файлов и каталогов в каталоге.
  21. File [] listFiles (): возвращает массив абстрактных путей, обозначающих файлы в каталоге.
  22. boolean mkdir (): создает каталог с этим абстрактным путем.
  23. boolean renameTo (File dest): переименовывает файл, обозначенный этим абстрактным путем.
  24. boolean setExecutable (логический исполняемый файл): удобный метод для установки разрешения владельца на выполнение.
  25. boolean setReadable (boolean readable): удобный метод для установки разрешения владельца на чтение.
  26. boolean setReadable (boolean readable, boolean ownerOnly): Устанавливает разрешение на чтение владельцем или всеми.
  27. boolean setReadOnly (): помечает имя файла или каталога так, что разрешены только операции чтения.
  28. boolean setWritable (логическая запись) : удобный метод для установки разрешения на запись владельца.
  29. Строка toString (): возвращает строку пути этого абстрактного пути.
  30. URI toURI (): Создает URI файла, который представляет это абстрактное имя пути.

Реализация

Программа 1: Программа для проверки, существует ли файл или каталог физически или нет.

// В этой программе мы принимаем имя файла или каталога из
// аргументы командной строки. Затем программа проверит,
// этот файл или каталог физически существуют или нет и
// отображает свойство этого файла или каталога.

*import java.io.File;

  
// Отображение свойства файла

class fileProperty

{

    public static void main(String[] args) {

        // принимаем имя файла или имя каталога через аргументы командной строки

        String fname =args[0];

  

        // передаем имя файла или имя каталога в объект File

        File f = new File(fname);

  

        // применяем методы класса File к объекту File

        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 writeable:"+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:\Users\akki\IdeaProjects\codewriting\src\file.txt
Parent:null
Exists :true
Is writeable:true
Is readabletrue
Is a directory:false
File Size in bytes 20

Программа 2: Программа для отображения всего содержимого каталога

Здесь мы примем имя каталога с клавиатуры, а затем отобразим все содержимое каталога. Для этого метод list () можно использовать как:

String arr[]=f.list();

В предыдущем выражении метод list () вызывает все записи каталога, скопированные в массив arr [] . Затем передайте эти элементы массива arr [i] объекту File и протестируйте их, чтобы узнать, представляют ли они файл или каталог.

import java.io.BufferedReader;

import java.io.File;

import java.io.IOException;

import java.io.InputStreamReader;

  
// Отображение содержимого каталога

class Contents

{

    public static void main(String[] args) throws IOException {

        // вводим путь и имя с клавиатуры

        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();

  

        // создаем объект File с dirpath и dname

        File f = new File(dirpath, dname);

  

        // если каталог существует, то

        if(f.exists())

        {

            // получить содержимое в arr []

            // теперь arr [i] представляет файл или каталог

            String arr[]=f.list();

  

            // найти нет. записей в каталоге

            int n=arr.length;

  

            // отображение записей

            for (int i = 0; i < n ; i++) {

                System.out.println(arr[i]);

                // создаем объект File с записью и тестом

                // если это файл или каталог

                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:\Users\akki\IdeaProjects\
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

Эта статья предоставлена Nishant Sharma . Если вы как GeeksforGeeks и хотели бы внести свой вклад, вы также можете написать статью с помощью contribute.geeksforgeeks.org или по почте статьи contribute@geeksforgeeks.org. Смотрите свою статью, появляющуюся на главной странице GeeksforGeeks, и помогите другим вундеркиндам.

Пожалуйста, пишите комментарии, если вы обнаружите что-то неправильное или вы хотите поделиться дополнительной информацией по обсуждаемой выше теме.

Рекомендуемые посты:

Класс Java.io.File в Java

0.00 (0%) 0 votes