java tutorial - Манипулирование файлами и каталогами в Java - учебник java - java programming - учиться java - java basics - java for beginners
- На самом деле, вы часто работаете с файлами и папками в системе, операции здесь включают добавление, удаление, переименование. Java дает вам два класса, чтобы сделать это:
- java.io.File
- java.nio.file.Files
java.io.File
- Java.io.File класс представляет файл (file) или папку (directory) системы, он введен в Java, из версии 1.0
java.nio.file.Files
- Версия 7.0, Java дополняет java.nio.file.Files класс, что позволяет легко манипулировать файлами и папками, все методы этого класса являются статическими и естественными (static and nature)
2- java.io.File
- Java.io.File класс представляет файл или папку в системе, которая представляет путь (pathname). В следующем примере создается объект File представляющий путь в Windows, или Unix:
// Window
File apath1 = new File("C:/mydocument/test.txt");
File apath2 = new File("C:/mydocument/java");
// Unix
File apath3 = new File("/mydocument/test.txt");
File apath3 = new File("/mydocument/java");
нажмите кнопку ниже, чтобы скопировать код. - от - java tutorials - команда- java.io.File может представлять собой путь (pathname), где этот путь может на самом деле не существовать в системе. Если существовует, то может быть в виде папки (directory) или файла (file).
- Следующий простой пример создает объект File, который представляет собой путь, и проверяет его существование, записывает основную информацию, если путь на самом деле существует:
FileInfoExample.java
package com.wikitechy.filedirectory;
import java.io.File;
import java.util.Date;
public class FileInfoExample {
public static void main(String[] args) {
// Создать объект File представлюящий путь.
File apath = new File("C:/test/mytext.txt");
// Проверка существования.
System.out.println("Path exists? " + apath.exists());
if (apath.exists()) {
// Проверить является ли 'apath' папкой или нет?
System.out.println("Directory? " + apath.isDirectory());
// Проверить является ли 'apath' скрытым путем или нет?
System.out.println("Hidden? " + apath.isHidden());
// Простое название.
System.out.println("Simple Name: " + apath.getName());
// Абсолютный путь.
System.out.println("Absolute Path: " + apath.getAbsolutePath());
// Проверка размера файла (По единицам byte):
System.out.println("Length (bytes): " + apath.length());
// Последнее изменение (в милисекундах)
long lastMofifyInMillis = apath.lastModified();
Date lastModifyDate = new Date(lastMofifyInMillis);
System.out.println("Last modify date: " + lastModifyDate);
}
}
}
нажмите кнопку ниже, чтобы скопировать код. - от - java tutorials - команда
java - джава - учиться java - учебник java -
манипулировать mytext
- примеры java - java-программы

java - джава - учиться java - учебник java -
манипулировать mytext вариантов размещения
- примеры java - java-программы

java - джава - учиться java - учебник java -
Пример файла информация
- примеры java - java-программы
3- Создать каталог
- Класс File содержит два метода для создания:
MakeDirExample.java

java - джава - учиться java - учебник java -
сделать dir пример
- примеры java - java-программы
4- File Filter
- Java.io.File класс предлагает несколько способов, чтобы получить список подфайлов и подкаталогов в каталоге. И использует FileFilter для фильтрации файлов
- Например, список всех корневых каталогов:
RootFilesExample.java
package com.wikitechy.filedirectory;
import java.io.File;
public class RootFilesExample {
public static void main(String[] args) {
File[] roots = File.listRoots();
for(File root: roots) {
System.out.println(root.getAbsolutePath());
}
}
}
нажмите кнопку ниже, чтобы скопировать код. - от - java tutorials - команда
java - джава - учиться java - учебник java -
Пример файлов-корня
- примеры java - java-программы
- В следующем примере составляется список всех файлов и подпапок в непосредственной папке:
FileListExample.java
package com.wikitechy.filedirectory;
import java.io.File;
public class FileListExample {
public static void main(String[] args) {
System.out.println("File[] listFiles():\n");
File dir = new File("C:/test");
File[] children = dir.listFiles();
for (File file : children) {
System.out.println(file.getAbsolutePath());
}
System.out.println("\n-----------------------");
System.out.println("String[] list():\n");
String[] paths = dir.list();
for (String path : paths) {
System.out.println(path);
}
}
}
нажмите кнопку ниже, чтобы скопировать код. - от - java tutorials - команда
java - джава - учиться java - учебник java -
Пример фильтра файлов
- примеры java - java-программы
java.io.FileFilter
package java.io;
@FunctionalInterface
public interface FileFilter {
boolean accept(File pathname);
}
нажмите кнопку ниже, чтобы скопировать код. - от - java tutorials - команда- Простой пример ниже использует FileFilter, чтобы отфильтровать файлы в папке и имеющие расширенную часть"txt":
package com.wikitechy.filedirectory;
import java.io.File;
import java.io.FileFilter;
public class TxtFileFilter implements FileFilter {
// Только принимает 'pathname' как файл и имеет 'расширение' (extension) это txt.
@Override
public boolean accept(File pathname) {
if (!pathname.isFile()) {
return false;
}
if (pathname.getAbsolutePath().endsWith(".txt")) {
return true;
}
return false;
}
}
нажмите кнопку ниже, чтобы скопировать код. - от - java tutorials - командаFileFilterExample.java
package com.wikitechy.filedirectory;
import java.io.File;
public class FileFilterExample {
public static void main(String[] args) {
File dir = new File("C:/test");
File[] txtFiles = dir.listFiles(new TxtFileFilter());
for (File txtFile : txtFiles) {
System.out.println(txtFile.getAbsolutePath());
}
}
}
нажмите кнопку ниже, чтобы скопировать код. - от - java tutorials - командаjava.io.FilenameFilter
package java.io;
@FunctionalInterface
public interface FilenameFilter {
/**
* Tests if a specified file should be included in a file list.
*
* @param dir the directory in which the file was found.
* @param name the name of the file.
* @return <code>true</code> if and only if the name should be
* included in the file list; <code>false</code> otherwise.
*/
boolean accept(File dir, String name);
}
нажмите кнопку ниже, чтобы скопировать код. - от - java tutorials - командаTxtFilenameFilter.java
package com.wikitechy.filedirectory;
import java.io.File;
import java.io.FilenameFilter;
public class TxtFilenameFilter implements FilenameFilter {
// Принимает пути (path) с окончаниями '.txt'
@Override
public boolean accept(File dir, String name) {
if (name.endsWith(".txt")) {
return true;
}
return false;
}
}
нажмите кнопку ниже, чтобы скопировать код. - от - java tutorials - командаFilenameFilterExample.java
package com.wikitechy.filedirectory;
import java.io.File;
public class FilenameFilterExample {
public static void main(String[] args) {
File dir = new File("C:/test");
File[] txtFiles = dir.listFiles(new TxtFilenameFilter());
for (File txtFile : txtFiles) {
System.out.println(txtFile.getAbsolutePath());
}
}
}
нажмите кнопку ниже, чтобы скопировать код. - от - java tutorials - команда
java - джава - учиться java - учебник java -
Пример фильтра
- примеры java - java-программы
5- Перечисление всех подпапок
- Java.io.File класс предлагает несколько методов для перечисления папок и файлов, которые являются "прямым потомком" текущего каталога. В примере ниже, используется рекурсия для перечисления всех папок потомков (дети, внуки, ..) и потомок файла.
RecursiveFileExample.java
package com.wikitechy.filedirectory;
import java.io.File;
public class RecursiveFileExample {
private void fetchChild(File file) {
System.out.println(file.getAbsolutePath());
if (file.isDirectory()) {
File[] children = file.listFiles();
for (File child : children) {
// Рекурсивный (Recursive)
this.fetchChild(child);
}
}
}
public static void main(String[] args) {
RecursiveFileExample example = new RecursiveFileExample();
File dir = new File("C:/test");
example.fetchChild(dir);
}
}
нажмите кнопку ниже, чтобы скопировать код. - от - java tutorials - команда
java - джава - учиться java - учебник java -
Пример файла рекурсивные
- примеры java - java-программы
6- Переименование
- Используя методы rename() класса File, вы можете изменить имя (или путь) файла или каталога. Если вы измените и путь, убедитесь, что новый родительский каталог уже существует.
Переименование
- Следующий простой пример, чтобы переименовать файл (или папку), но не изменить путь своего отца.
SimpleRenameExample.java
package com.wikitechy.filedirectory;
import java.io.File;
public class SimpleRenameExample {
public static void main(String[] args) {
File srcFile = new File("C:/test/test2/abc.txt");
File destFile = new File("C:/test/test2/def.txt");
boolean renamed = srcFile.renameTo(destFile);
System.out.println("Renamed: "+ renamed);
}
}
нажмите кнопку ниже, чтобы скопировать код. - от - java tutorials - командаПереименование включая путь родителя:
- Переименование и измение пути родителя, подобно действию " Cut" файла или папки в другую папку, а затем переименовать ее.
RenameAndPathExample.java
package com.wikitechy.filedirectory;
import java.io.File;
public class RenameAndPathExample {
public static void main(String[] args) {
// Исходный файл (Source file).
File srcFile = new File("C:/test/test2/abc.txt");
// Файл назначения (Destination file).
File destFile = new File("C:/test2/test3/defgh.txt");
if (!srcFile.exists()) {
System.out.println("Src File doest not exists");
return;
}
// Создать родительскую папку файла назначения.
destFile.getParentFile().mkdirs();
boolean renamed = srcFile.renameTo(destFile);
System.out.println("Renamed: " + renamed);
}
}
нажмите кнопку ниже, чтобы скопировать код. - от - java tutorials - команда