📄 directorylist.pde
字号:
/** * Listing files in directories and subdirectories * by Daniel Shiffman. * * This example has three functions:<br /> * 1) List the names of files in a directory<br /> * 2) List the names along with metadata (size, lastModified)<br /> * of files in a directory<br /> * 3) List the names along with metadata (size, lastModified)<br /> * of files in a directory and all subdirectories (using recursion) */void setup() { // Path String path = sketchPath; println("Listing all filenames in a directory: "); String[] filenames = listFileNames(path); println(filenames); println("\nListing info about all files in a directory: "); File[] files = listFiles(path); for (int i = 0; i < files.length; i++) { File f = files[i]; println("Name: " + f.getName()); println("Is directory: " + f.isDirectory()); println("Size: " + f.length()); String lastModified = new Date(f.lastModified()).toString(); println("Last Modified: " + lastModified); println("-----------------------"); } println("\nListing info about all files in a directory and all subdirectories: "); ArrayList allFiles = listFilesRecursive(path); for (int i = 0; i < allFiles.size(); i++) { File f = (File) allFiles.get(i); println("Name: " + f.getName()); println("Full path: " + f.getAbsolutePath()); println("Is directory: " + f.isDirectory()); println("Size: " + f.length()); String lastModified = new Date(f.lastModified()).toString(); println("Last Modified: " + lastModified); println("-----------------------"); } noLoop();}// Nothing is drawn in this program and the draw() doesn't loop because// of the noLoop() in setup()void draw() {}// This function returns all the files in a directory as an array of Strings String[] listFileNames(String dir) { File file = new File(dir); if (file.isDirectory()) { String names[] = file.list(); return names; } else { // If it's not a directory return null; }}// This function returns all the files in a directory as an array of File objects// This is useful if you want more info about the fileFile[] listFiles(String dir) { File file = new File(dir); if (file.isDirectory()) { File[] files = file.listFiles(); return files; } else { // If it's not a directory return null; }}// Function to get a list ofall files in a directory and all subdirectoriesArrayList listFilesRecursive(String dir) { ArrayList fileList = new ArrayList(); recurseDir(fileList,dir); return fileList;}// Recursive function to traverse subdirectoriesvoid recurseDir(ArrayList a, String dir) { File file = new File(dir); if (file.isDirectory()) { // If you want to include directories in the list a.add(file); File[] subfiles = file.listFiles(); for (int i = 0; i < subfiles.length; i++) { // Call this function on all files in this directory recurseDir(a,subfiles[i].getAbsolutePath()); } } else { a.add(file); }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -