Метод listFiles
Метод listFiles класса File возвращает массив
объектов File, представляющих файлы и директории,
которые содержатся в директории, для которой был вызван
метод. Если объект File не является директорией
или директория недоступна, метод возвращает null.
Если директория пуста, возвращается пустой массив.
Также существует перегруженная версия метода, в которую
можно передать фильтр типа FilenameFilter -
в этом случае в результат попадут только те файлы,
которые удовлетворяют условию фильтра.
Синтаксис
file.listFiles()
file.listFiles(filter)
Пример
Давайте создадим директорию и выведем список всех файлов и поддиректорий внутри нее:
import java.io.File;
public class Main
{
public static void main(String[] args)
{
File dir = new File("test");
dir.mkdir();
new File("test/a.txt").mkdir();
new File("test/b.txt").mkdir();
new File("test/c.txt").mkdir();
File[] files = dir.listFiles();
for (File file : files)
{
System.out.println(file.getName());
}
}
}
Результат выполнения кода:
"a.txt"
"b.txt"
"c.txt"
Пример
Давайте получим список файлов в системной директории и выведем их полные пути:
import java.io.File;
public class Main
{
public static void main(String[] args)
{
File dir = new File(".");
File[] files = dir.listFiles();
for (File file : files)
{
System.out.println(file.getPath());
}
}
}
Результат выполнения кода (пример):
"./src"
"./bin"
"./Main.java"
Пример
Давайте передадим в метод listFiles фильтр,
который оставит только файлы с расширением .txt:
import java.io.File;
import java.io.FilenameFilter;
public class Main
{
public static void main(String[] args)
{
File dir = new File("test");
dir.mkdir();
new File("test/a.txt").mkdir();
new File("test/b.log").mkdir();
new File("test/c.txt").mkdir();
FilenameFilter filter = new FilenameFilter()
{
public boolean accept(File d, String name)
{
return name.endsWith(".txt");
}
};
File[] files = dir.listFiles(filter);
for (File file : files)
{
System.out.println(file.getName());
}
}
}
Результат выполнения кода:
"a.txt"
"c.txt"
Смотрите также
-
класс
File,
который представляет файл или директорию -
метод
list,
который возвращает массив имен файлов -
метод
isDirectory,
который проверяет, является ли объект директорией -
метод
getName,
который возвращает имя файла или директории