Файлы на Java

Класс java.io.File  Представляет имена файлов и каталогов. Этот класс используется для создания файлов и каталогов, поиска файлов, удаления, изменения и т.д.

Объект Java-файла  Представляет текущий файл/каталог на диске.

Java.io.File

Конструкторы для создания объекта File:

Следующий синтаксис создает новый экземпляр File из родительского пути и дочернего пути.
File(File parent. string threads);

Следующий синтаксис создает экземпляр файла путем преобразования абстрактного пути name.
Файл(Строка namePath)

Следующий синтаксис создает экземпляр File, преобразуя URI в абстрактный pathname.
Файл(URI uri)

Методы java.io.File

После создания объекта File несколько методов, которые можно использовать для манипулирования экземпляром File:

Публичная строка getName()
извлекает имя файла/каталога.

Публичная строка getParent()
Возвращает имена путей родителя, в противном случае null, если имя пути не имеет родительского каталога.

Публичный файл getParentFile()
Возвращает абстрактное имя пути родителя или null, если имя пути не имеет родительского каталога.

Публичная строка getPath()
Преобразуйте абстрактное имя пути в имя пути string.

Публичное логическое значение isAbsolute ()
Возвращает true, если путь абсолютный.

Публичная строка getAbsolutePath()
Возвращает абсолютный путь.

Публичное логическое значение exists()
Возвращает True, если файл/каталог существует.

Публичное логическое значение isDirectory()
Возвращает значение True, если объект File является каталогом.

Публичное логическое значение isFile()
Возвращает значение True, если объект File является файлом.

Public long lastModified()
Возвращает дату последнего изменения в миллисекундах или 0L, если файл не существует.

Публичное логическое значение canRead()
Возвращает true, если файл может быть прочитан.

Публичное логическое значение canWrite()
Возвращает true, если файл готов к редактированию.

Public boolean createTempFile(String name, String suffix)
Создает временный файл по умолчанию.

Публичное логическое значение createNewFile() выдает IOException
Автоматически создает пустой файл с именем абстрактного пути. Возвращает True, если файл создан успешно, в противном случае false, если есть другой файл с таким же именем.

Public bollean delete()
Удаляет файл или каталог.

Public bolean deleteOnExit()
Удаляет файл или каталог, когда JVM.

Публичная строка[] list()
получить список имен файлов и каталогов.

Публичный файл[] listFiles()
получить список абстрактных путей к файлам в их каталоге.

Публичное логическое значение mkdir()
Создает новый каталог. Возвращает true, если каталог создан в противном случае false.

Public boolean renameTo(File dest)
Переименовать файл.

Example

import java.io.File; 

public class Test {
public static void main(String[] args) {

File file file = null;
String[] names = {"test1.txt", "test2"};
try{
// для каждого бокса в массиве
for(String name: names)
{
// создаем новый файл
file = new File(name);

// true, если файл исполняемый
boolean bool = file.canExecute();

System.out.println("Абсолютный путь:" + file.getAbsolutePath());
System.out.println("Существует ли оно?" + file.exists());
System.out.println("Имя: " + file.getName());
System.out.println("Это каталог?" + file.isDirectory());
System.out.println("является исполняемым файлом: "+ bool);

//выводим содержимое, если файл является папкой
if (file.isDirectory() ) {
System.out.println("содержимое каталога ");
File files[] = file.listFiles();
//Цикл, проходящий через
for(File f: files){
if (f.isDirectory())
System.out.println(" ["+f.getName()+"]");
else
System.out.println(" "+f.getName());
}
}
}
}catch(Exception e){
// если появляются ошибки ввода/вывода
e.printStackTrace();
}
}
}
Output

Абсолютный путь:C:\Users\VAIO\workspace\File\test1.txt
Существует ли он? true
Имя: test1.txt
Это каталог? false
является исполняемым файлом: true

Абсолютный путь:C:\Users\VAIO\workspace\File\test2
Существует ли он? true
Имя: test2
Это каталог? true
является исполняемым файлом: true
содержимое каталога
Android - Полное руководство Www.biblio-scientifique.com.pdf
Графический интерфейс Java.pdf
sunset.jpg

Отображение содержимого папки в java

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

Iterable root = FileSystems.getDefault().getRootDirectories(); 
for(Путь: root)
{
System.out.println(путь);
//для вывода списка каталога используйте объект DirectoryStream
try(DirectoryStream list = Files.newDirectoryStream(path,"*.txt")){
int i = 0;
for(Путь: список)
{
System.out.println("\t\t" + ((Files.isDirectory(name) ? name+"/" : name)));
i++;
if(i%4 == 0)System.out.println("\n");
}
}
catch (IOException e) {
e.printStackTrace();
}
}
References
jenkov: Java IO: File
jmdoudoux.fr: NIO
Java Doc: Файл класса