Java читает пути всех папок и файлов ниже. Конкретный контент заключается в следующем
Если в папке F:/AA, есть папки и файлы, как показано ниже:
Затем, в Java, все пути файлов под F:/AA читаются таким образом:
1. Прежде всего, поскольку ArrayList используется в классах файлов и контейнеров, в начале следует вводить следующие пакеты:
импортировать java.io.*; Импорт java.util.*;
2. Метод заключается в следующем, где файл Dirfile может принять все юридические пути, за исключением буквы диска, таких как F:. Поскольку буква диска содержит некоторые системные файлы, доступ отказывается, поскольку буква диска считывается, может произойти исключение с нулевым указателем.
// Здесь мы запрашиваем только все папки и файлы в текущем пути и сохраняем их пути в массив файлов //, поскольку мы встречаем папку, которая не запрашивает, что в ней содержится все подпапки и файлы, не нужно использовать рекурсивный общедоступный статический raylist <string> dir (файл dirfile), бросает исключение {stringlist <string> dirstrarr = restlist <string> ();); if (dirfile.exists ()) {// повернуть непосредственно. Выключить все папки и файлы в текущем пути, используя listfiles () для хранения всех папок и файлов в текущем пути в файлы файлов массива файлов [] = dirfile.listfiles (); для (файл файла: файлы) {// Если пропущенный параметр Dirfile заканчивается сепаратором файла, то есть /или /, затем построить его так, if (dirfile.getPath (). Endswith (file.separator)) {dirstrarr.add (dirfile.getPath () + file.getName ());); } else {// в противном случае, если нет разделения файла, добавьте разделение файла и добавьте имя файла в Path Dirstrarr.Add (dirfile.getPath () + file.separator + file.getName ()); }} return dirstrarr; } Метод на нем состоит в том, чтобы не читать XLSX в недавно созданной папке под F:/AA. Если во время процесса чтения, когда папка хочет читать все подпапки и файлы, используется рекурсия и сначала установлен глобальный динамический массив:
Public Static ArrayList <String> dirallStrarr = new ArrayList <String> ();
Тогда метод заключается в следующем:
public static void dirall (файл dirfile) бросает исключение {if (dirfile.exists ()) {file file [] = dirfile.listfiles (); Для (файл файла: файлы) {// Если папка встречается, она будет вызвана рекурсивно. if (file.isdirectory ()) {// рекурсивно вызовать Dirall (file); } else {// Если вы столкнетесь с папкой, поместите ее в массив if (dirfile.getpath (). endswith (file.separator)) {dirallstrarr.add (dirfile.getPath () + file.getName ()); } else {dirallstrarr.add (dirfile.getPath () + file.separator + file.getName ()); }}}}}}}}}}}}}}}}}}}}}} Фактически, во время процесса чтения ключ - использовать метод ListFiles () для получения списка всех файлов в этой папке. Затем, например, «[Java] переместите папки и все подфилы и подпапки» (нажмите, чтобы открыть ссылку) и «[Java] использует ввод файлов и потоки вывода, чтобы завершить работу копирования всех файлов в одну папку в другую папку» (нажмите, чтобы открыть ссылку), а затем рекурсивно встретить папки.
Весь метод выше - это файл Java, как это:
импортировать java.io.*; Импорт java.util.*; Общедоступный класс FileList {// Установить глобальный динамический массив для хранения пути файла // При прохождении папок и содержании всех подпапок и файлов используется рекурсия, поэтому вам следует установить общедоступный static ArrayList <string> dirallstrarr = new ArrayList <string> (); // Здесь следует запрашивать все папки и файлы под текущим путем и сохранить их пути в массив файлов //. Поскольку в папке нет запроса, в которой он содержит все подпапки и файлы, нет необходимости использовать рекурсионную общедоступную статическую артиста <string> dir (file dirfile) throws Exception {arraylist <string> dirstrarr = new ArrayList <string> ();); if (dirfile.exists ()) {// непосредственно выберите все папки и файлы в текущем пути, используя listfiles () для хранения всех папок и файлов в файлах файлов массива файлов [] = dirfile.listfiles (); для (файл файла: файлы) {// Если пропущенный параметр Dirfile заканчивается сепаратором файла, то есть / или /, затем построить его так, if (dirfile.getPath (). Endswith (file.separator)) {dirstrarr.add (dirfile.getPath () + file.getName ());); } else {// в противном случае, если нет разделения файла, добавьте разделение файла и добавьте имя файла в Path Dirstrarr.Add (dirfile.getPath () + file.separator + file.getName ()); }}} return dirstrarr; } public static void dirall (файл dirfile) throws exception {if (dirfile.exists ()) {file files [] = dirfile.listfiles (); Для (файл файла: файлы) {// Если папка встречается, она будет вызвана рекурсивно. if (file.isdirectory ()) {// рекурсивно вызовать Dirall (file); } else {// Если встречается папка, поместите ее в массив if (dirfile.getpath (). endswith (file.separator)) {dirallstrarr.add (dirfile.getPath () + file.getName ()); } else {dirallstrarr.add (dirfile.getPath () + file.separator + file.getName ()); }}}} public static void main (string [] args) бросает исключение {file dirfile = new File ("f:/aa"); System.out.println (dir (dirfile)); Диралл (Dirfile); System.out.println (Dirallstrarr); }}Результаты работы следующие:
Выше всего содержание этой статьи. Я надеюсь, что это будет полезно для каждого обучения, и я надеюсь, что все будут поддерживать Wulin.com больше.