你可以这样做:
File folder = new File("your/path");
File[] listOfFiles = folder.listFiles();
for (int i = 0; i < listOfFiles.length; i++) {
if (listOfFiles[i].isFile()) {
System.out.println("File " + listOfFiles[i].getName());
} else if (listOfFiles[i].isDirectory()) {
System.out.println("Directory " + listOfFiles[i].getName());
}
}
您只想获取 JPEG 文件还是所有文件?
创建一个 File
对象,将目录路径传递给构造函数。使用 listFiles()
检索目录中每个文件的 File
对象数组,然后调用 getName()
方法来获取文件名。
List<String> results = new ArrayList<String>();
File[] files = new File("/path/to/the/directory").listFiles();
//If this pathname does not denote a directory, then listFiles() returns null.
for (File file : files) {
if (file.isFile()) {
results.add(file.getName());
}
}
listFiles()
;)
File[] files = new File("/path/to/the/directory").listFiles(new FilenameFilter() { @Override public boolean accept(File dir, String name) { return name.endsWith(".xml"); } });
的文件
File[] files = new File("path/to/dir").listFiles((dir, name) -> name.endsWith(".xml"));
以下是查看 documentation 的方法。
首先,您正在处理 IO,因此请查看 java.io
package。
有两个类看起来很有趣:FileFilter 和 FileNameFilter。当我单击第一个时,它显示 File 类中有一个 listFiles()
方法。该方法的文档说:
返回一个抽象路径名数组,表示此抽象路径名表示的目录中的文件。
在 File
JavaDoc 中向上滚动,我看到了构造函数。这就是我创建 File
实例并在其上调用 listFiles()
所需的全部内容。进一步滚动,我可以看到一些关于文件在不同操作系统中如何命名的信息。
不定期副业成功案例分享
File folder = new File (".");
...而不是相同的。示例new File("./"+your_file);
File dir = new File("/your/path"); FileFilter fileFilter = new WildcardFileFilter("*.JPG", IOCase.INSENSITIVE); // For taking both .JPG and .jpg files (useful in *nix env) File[] fileList = dir.listFiles(fileFilter); if (fileList.length > 0) { /** The oldest file comes first **/ Arrays.sort(fileList, LastModifiedFileComparator.LASTMODIFIED_COMPARATOR); } //filesList now contains all the JPG/jpg files in sorted order