Класс File в Java

Java 流(Stream)Поток Java


В Java класс File является частью пакета java.io и используется для обработки путей к файлам и каталогам.

Класс File в Java представляет имена файлов и пути каталогов абстрактным образом. Класс File в основном используется для создания файлов и каталогов, поиска файлов и удаления файлов и т. д.

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

Создайте новый экземпляр File с заданным родительским абстрактным путем и строкой дочернего пути:

File file = new File(File parent, String child);

Создайте новый экземпляр File, преобразовав заданную строку имени пути в абстрактное имя пути:

File file = new File(String pathname);

Создайте новый экземпляр File на основе строки имени родительского пути и строки имени дочернего пути.

File file = new File(String parent, String child);

Создайте новый экземпляр File, преобразовав заданный file: URI в абстрактное имя пути.

File file = new File(URI uri) 

Пример

// Создание через строку пути
File file1 = new File("C:/test/test.txt");

// Создание через родительский путь и дочерний путь
File file2 = new File("C:/test", "test.txt");

// Создание через родительский объект File и дочерний путь
File parent = new File("C:/test");
File file3 = new File(parent, "test.txt");

После успешного создания объекта File вы можете использовать методы из следующего списка для работы с файлами.

Нет. Описание метода
1 public String getName()
Возвращает имя файла или каталога, представленного этим абстрактным именем пути.
2 public String getParent()
Возвращает строку имени пути родительского имени пути этого абстрактного имени пути или возвращает null, если это имя пути не указывает родительский каталог.null。
3 public File getParentFile()
Возвращает абстрактное имя пути родительского имени пути этого абстрактного имени пути или возвращает null, если это имя пути не указывает родительский каталог.null。
4 public String getPath()
Преобразует это абстрактное имя пути в строку имени пути.
5 public boolean isAbsolute()
Проверяет, является ли это абстрактное имя пути абсолютным именем пути.
6 public String getAbsolutePath()
Возвращает строку абсолютного имени пути этого абстрактного имени пути.
7 public boolean canRead()
Проверяет, может ли приложение прочитать файл, представленный этим абстрактным именем пути.
8 public boolean canWrite()
Проверяет, может ли приложение изменить файл, представленный этим абстрактным именем пути.
9 public boolean exists()
Проверяет, существует ли файл или каталог, представленный этим абстрактным именем пути.
10 public boolean isDirectory()
Проверяет, является ли файл, представленный этим абстрактным именем пути, каталогом.
11 public boolean isFile()
Проверяет, является ли файл, представленный этим абстрактным именем пути, обычным файлом.
12 public long lastModified()
Возвращает время последнего изменения файла, представленного этим абстрактным именем пути.
13 public long length()
Возвращает длину файла, представленного этим абстрактным именем пути.
14 public boolean createNewFile() throws IOException
Атомарно создаёт новый пустой файл, указанный этим абстрактным именем пути, тогда и только тогда, когда файл с именем, указанным этим абстрактным именем пути, не существует.
15 public boolean delete()
Удаляет файл или каталог, представленный этим абстрактным именем пути.
16 public void deleteOnExit()
Запрашивает удаление файла или каталога, представленного этим абстрактным именем пути, при завершении работы виртуальной машины.
17 public String[] list()
Возвращает массив строк с именами файлов и каталогов в каталоге, представленном этим абстрактным именем пути.
18 public String[] list(FilenameFilter filter)
Возвращает массив строк, состоящий из имён файлов и каталогов, содержащихся в каталоге, представленном абстрактным именем пути, которое удовлетворяет заданному фильтру.
19 public File[] listFiles()
Возвращает массив абстрактных имён путей, обозначающих файлы в каталоге, представленном этим абстрактным именем пути.
20 public File[] listFiles(FileFilter filter)
Возвращает массив абстрактных имён путей, обозначающих файлы и каталоги в каталоге, представленном этим абстрактным именем пути, которые удовлетворяют заданному фильтру.
21 public boolean mkdir()
Создаёт каталог, заданный этим абстрактным именем пути.
22 public boolean mkdirs()
Создаёт каталог, заданный этим абстрактным именем пути, включая создание всех необходимых, но несуществующих родительских каталогов.
23 public boolean renameTo(File dest)
Переименовывает файл, представленный этим абстрактным именем пути.
24 public boolean setLastModified(long time)
Устанавливает время последнего изменения файла или каталога, заданных этим абстрактным именем пути.
25 public boolean setReadOnly()
Помечает файл или каталог, заданный этим абстрактным именем пути, как доступный только для чтения.
26 public static File createTempFile(String prefix, String suffix, File directory) throws IOException
Создаёт новый пустой файл в указанном каталоге, используя заданные строки префикса и суффикса для формирования его имени.
27 public static File createTempFile(String prefix, String suffix) throws IOException
Создаёт пустой файл в каталоге временных файлов по умолчанию, используя заданные префикс и суффикс для формирования его имени.
28 public int compareTo(File pathname)
Сравнивает два абстрактных имени пути в алфавитном порядке.
29 public int compareTo(Object o)
Сравнивает абстрактное имя пути с заданным объектом в алфавитном порядке.
30 public boolean equals(Object obj)
Проверяет, равно ли это абстрактное имя пути заданному объекту.
31 public String
Возвращает строку имени пути этого абстрактного имени пути.

Пример

Следующий пример демонстрирует использование объектов File:

Пример

import java.io.File; public class DirList { public static void main(String args[]) { String dirname = "/java"; File f1 = new File(dirname); if (f1.isDirectory()) { System.out.println("Содержимое каталога " + dirname); String s[] = f1.list(); for (int i = 0; i < s.length; i++) { File f = new File(dirname + "/" + s[i]); if (f.isDirectory()) { System.out.println(s[i] + " является каталогом"); } else { System.out.println(s[i] + " является файлом"); } } } else { System.out.println(dirname + " не является каталогом"); } } }

Результат компиляции и запуска приведенного выше примера выглядит следующим образом:

Directory of /java
bin is a directory
lib is a directory
demo is a directory
test.txt is a file
README is a file
index.html is a file
include is a directory

Java 流(Stream)Поток Java

Другие расширения