Как получить все файлы в папке java
Перейти к содержимому

Как получить все файлы в папке java

  • автор:

Как получить все файлы в папке java

Как получить список файлов которые лежат в определенной директории
Например я задаю путь к директории (c:\myfolder\) и мне Java выдает:

c:\myfolder\file1.txt
c:\myfolder\file2.txt
c:\myfolder\file3.txt

Re: Как получить список файлов из директории

От: C0s
Дата: 06.03.06 13:00
Оценка: 4 (1)

Здравствуйте, esudnik, Вы писали:

E>Как получить список файлов которые лежат в определенной директории
E>Например я задаю путь к директории (c:\myfolder\) и мне Java выдает:

import java.io.File; . File myFolder = new File("c:\myfolder"); File[] files = myFolder.listFiles(); // печатаем files

— с точностью до необходимых проверок
Re[2]: Как получить список файлов из директории

От: Аноним
Дата: 06.03.06 21:02
Оценка:

Здравствуйте, C0s, Вы писали:

C0s>Здравствуйте, esudnik, Вы писали:

E>>Как получить список файлов которые лежат в определенной директории
E>>Например я задаю путь к директории (c:\myfolder\) и мне Java выдает:

C0s>- с точностью до необходимых проверок

А если хочется результат сразу в html, как лучше(проще и быстрее) сделать? Есть для подобного готовые библиотеки(обертки)?

Re[3]: Как получить список файлов из директории

От: C0s
Дата: 06.03.06 21:50
Оценка:

Здравствуйте, Аноним, Вы писали:

А>А если хочется результат сразу в html, как лучше(проще и быстрее) сделать? Есть для подобного готовые библиотеки(обертки)?

я бы взял Velocity — можно подготовить шаблон с нужным оформлением, там есть есть циклы, соотв. развернуть все это добро в цикле труда не составит
см. http://jakarta.apache.org/velocity/index.html

некоторые посоветовали бы freemaker, больше, на ночь глядя в голову ничего не лезет

ps. можно, естественно, руками от и до, но это не спортивно

Как получить список файлов в папке resources в Java-проекте?

В своём проекте projectDir/src/main/resources я создал дополнительную папку myFolderName, в которой у меня лежат файлы .xml , и я хочу взять список файлов, которые лежат в этой папке. Нашел вот такой код, но не знаю, какой путь нужно туда передать:

private static List getResourceFiles(String path) throws IOException < Listfilenames = new ArrayList<>(); try( InputStream in = getResourceAsStream(path); BufferedReader br = new BufferedReader(new InputStreamReader(in)) ) < String resource; while((resource = br.readLine()) != null) < filenames.add( resource ); >> return filenames; > 

Вопрос: каким образом я могу взять список файлов, которые лежат в директории projectDir/src/main/resources/myFolderName ?

Отслеживать

1,722 1 1 золотой знак 22 22 серебряных знака 42 42 бронзовых знака

задан 13 мар 2017 в 16:26

Kirill Stoianov Kirill Stoianov

6,148 6 6 золотых знаков 30 30 серебряных знаков 66 66 бронзовых знаков

Как получить список файлов в папке?

Как мне получить список файлов в папке с определенным типом, например .png .jpeg, а так же и под папках?

  • Вопрос задан более трёх лет назад
  • 4248 просмотров

Комментировать
Решения вопроса 0
Ответы на вопрос 3

zolt85

Программист

Подпапки обходить рекурсивно. Список файлов можно получить при помощи метода listFiles , в который можно передать FilenameFilter

Ответ написан более трёх лет назад
Комментировать
Нравится 3 Комментировать

EugeneP2

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

 commons-io commons-io 2.4 
import java.io.File; import java.util.Collection; import org.apache.commons.io.FileUtils; public class Test < public static void main(String[] args) < Collectionfiles = FileUtils.listFiles(new File("/home/user/workspace"), new String[] , true); for (File file : files) < System.out.println(file); >> >

Ответ написан более трёх лет назад
Комментировать
Нравится 3 Комментировать
Odissey Nemo @odissey_nemo
Программист, ГИС-системы, растры, космоснимки

Вот текст статической подпрограммы из собственного класса Files (часто встречающиеся операции с файлами, сбор имён не требовался ), стирающей всё содержимое заданной директории. В т.ч. и рекурсивно (по параметру). Для чего требуется стереть все файлы и во всех вложенных директориях.Переработать в нужном направлении нетрудно, добавив параметр для сбора имён обнаруженных файлов и его заполнение в нужном формате:

/** * Tries to remove all files (and sub-directories optionally) in the designated * directory * * @param dir_path directory path to clear from other files and optionally * directories * @param recursive deletes sub-dirs also if set to * @return if operation completed successfully that is no errors * occurs during operation, else */ public static boolean clearDirectory( String dir_path, boolean recursive ) < File dir = new File( dir_path ); if ( !dir.isDirectory() ) < return false; >boolean res = true; String[] files = dir.list(); String fdir = Files.resetDir( dir_path ); String fpath; StringBuffer sb = new StringBuffer(); for ( int i = 0; i < files.length; i++ ) < sb.delete( 0, Integer.MAX_VALUE ).append( fdir ).append( files[ i ] ); File file = new File( fpath = sb.toString() ); if ( file.isDirectory() && recursive ) < res = clearDirectory( fpath, recursive ); >else < try < res = file.delete(); // TODO: здесь забирать конкретное имя фала в общий выходной массив >catch ( SecurityException se ) < >> > return res; >

Вызываемый дополнительно код ниже:

/** * The system-dependent default name-separator character. This field is * initialised to contain the first character of the value of the system * property file.separator. On UNIX systems the value of this field is '/'; on * Microsoft Windows systems it is '\\'. */ public static final char FileSeparator = File.separatorChar; /** * The system-dependent default name-separator character. This field is * initialised to contain the first character of the value of the system * property file.separator. On UNIX systems the value of this field is '/'; on * Microsoft Windows systems it is '\\'. */ public static final char FS = File.separatorChar; /** * appends system dependent file separator char * * @param FilePath - string to check for file separator existence * @return new string with appended file separator or the same string if it * already was present */ public static String appendFileSeparator( String FilePath ) < return appendFileSeparator( FilePath, FileSeparator ); >/** * appends system dependent file separator char * * @param FilePath - string to check for file separator existence * @param sep character to be a last separator in the input string * @return new string with appended file separator or the same string if it * already was present */ public static String appendFileSeparator( String FilePath, char sep ) < if ( Text.isEmpty( FilePath ) ) < return "" + sep; >char ch = FilePath.charAt( FilePath.length() - 1 );// get last symbol if ( ( ch != '/' ) && ( ch != '\\' ) )// check it to be a separator one < return FilePath + sep; >else < return FilePath.substring( 0, FilePath.length() - 1 ) + sep; >> /** * the same as but with shorter name :o) * * @param path path to append file separator * @return path with trailing current file names separator */ public static String resetDir( String path ) < if ( path == null ) < return null; >return appendFileSeparator( path ); >

Как получить все файлы в папке java

Для получения списка всех файлов в папке в Java можно использовать класс java.io.File .

Вот пример кода:

File folder = new File("/path/to/folder"); File[] files = folder.listFiles(); for (File file : files)  if (file.isFile())  System.out.println(file.getName()); > > 

Этот код создает объект File для заданной папки и использует метод listFiles() для получения массива объектов File для всех файлов и папок в папке. Затем используется цикл for для перебора всех файлов в массиве и вывода их имен с помощью метода getName()

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *