Предполагая, что папка «My File Path» находится внутри вашего эскиза, вам необходимо указать путь к вашему эскизу.К счастью, Обработка уже предоставляет вспомогательную функцию: sketchPath()
Вот пример:
File folder = new File(sketchPath("My File Path"));
println("folder.exists: " + folder.exists());
if(folder.exists()){
println(folder.listFiles().length + " files and/or directories");
}else{
println("folder does not exist, double check the path");
}
Имейте в виду, есть также dataPath()
функция, которая указывает на папку с именем data в папке эскиза.Папка data обычно используется для хранения внешних данных (например, ресурсов (растровые или векторные изображения / файлы шрифтов обработки) или необработанных данных (двоичные / текстовые / csv / xml / json / и т. Д.)).Это полезно, чтобы отделить исходные файлы эскиза от данных, которые будут загружены / доступны для вашего эскиза.
Кроме того, в Processing есть несколько служебных функций для вывода списка файлов и папок.Обязательно ознакомьтесь с Обработка> Примеры> Темы> Файловый ввод-вывод> DirectoryList
Пример включает в себя менее документированные функции, такие как listFiles()
(который возвращает массивjava.io.File объекты на основе набора фильтров) или listPaths
(который возвращает массив объектов String: только пути).
Опции и фильтры довольно удобны,например, если вы хотите перечислить только каталоги и игнорировать файлы, вы можете просто написать просто так:
println("directories: " + listFiles(sketchPath("My File Path"),"directories").length);
Например, если вы хотите перечислить все файлы wav в каталоге data/audio
внутри эскиза, который вы можете использовать:
File[] files = listFiles(dataPath("audio"), "files", "extension=wav");
При этом будут игнорироваться каталоги и любые другие файлы, не имеющие расширения .wav.
Чтобы завершить этот ответ, ниже приведено несколько подробностей о параметрах * 1039.* / listPaths
из Исходный код обработки :
"relative" -> no effect with the Files version, but important for listPaths
"recursive"-> traverse nested directories
"extension=js" or "extensions=js|csv|txt" (no dot)
"directories" -> only directories
"files" -> only files
"hidden" -> include hidden files (prefixed with .) disabled by default