Java - 如何获取文件夹中的所有文件名
我不是一个非常好的Java程序员,我需要知道如何将所有文件打印到一个文件夹中。请参见下面的代码:Java - 如何获取文件夹中的所有文件名
for(int i=0;i<folder.number_of_files;i++){
System.out.println(filename[i]);
}
感谢您的时间
File file = new File("C:\\");
File[] files = file.listFiles();
for (File f:files)
{
System.out.println(f.getAbsolutePath());
}
listFiles()
有更多选项。请参阅文档here
最简单的方法是使用File#listFiles
。如果您使用Java 7,请参阅this以了解对文件I/O库的更改。例如,
File folder = ...;
for(File f : folder.listFiles())
{
System.out.println(f.getName());
}
注意这不会对folder
目录中抓住任何子文件夹中的内容。
请问您能更具体吗? – Ewen 2012-08-09 23:37:22
对不起,我没有意识到这是一个链接。 – 2012-08-09 23:42:27
如果您还想检查下面的子文件夹,则运行递归并检查Desktop及其子文件夹下的所有文件并写入列表。
private static String lvl = "";
static BufferedWriter bw;
private static File source = new File("C:\\Users\\"+System.getProperty("user.name")+"\\Desktop\\New folder\\myTest.txt");
public static void main(String[] args) throws IOException {
bw = new BufferedWriter(new FileWriter(source));
checkFiles(new File("C:\\Users\\"+System.getProperty("user.name")+"\\Desktop"), 0);
bw.flush();
bw.close();
lvl = null;
}
static void checkFiles(File file, int level) throws IOException{
if(!file.exists()){
return;
}
for(String s:file.list()){
if(new File(file.getPath() + "\\" + s).isDirectory()){
bw.newLine();
bw.write(lvl + "Directory: " + s);
lvl += " ";
checkFiles(new File(file.getPath() + "\\" + s), level+1);
}else{
bw.newLine();
bw.write(lvl + "File: " + s);
}
}
}
}
谢谢,但它有点复杂 – Ewen 2012-08-10 00:00:13
未来,请不要参考roseindia ... – mre 2012-08-09 23:43:35
mmm ..好的。任何原因? – 2012-08-09 23:43:58
http://balusc.blogspot.com/2008/06/what-is-it-with-roseindia.html – mre 2012-08-09 23:44:37