【发布时间】:2017-03-27 02:24:37
【问题描述】:
我有下面的 Java 代码来扫描指定目录中的所有文件并将它们添加到一个字符串中,然后返回该字符串以供进一步解析。但是,我似乎无法完成递归部分。有人可以帮忙吗?
public static String walk( String path ) {
File root = new File( path );
File[] list = root.listFiles();
if (list == null) return null;
String dirs = "";
String files = "";
for ( File f : list ) {
Integer x = 0;
Integer y = 0;
if ( f.isDirectory() ) {
files = files + walk( f.getAbsolutePath() + ", " );
// System.out.println( "Dir:" + f.getAbsoluteFile() );
// dirs[x] = (f.getAbsoluteFile()).toString();
dirs = dirs + f.getAbsoluteFile() + ", ";
// x++;
}
else {
// System.out.println( "File:" + f.getAbsoluteFile() );
// files[y] = (f.getAbsoluteFile()).toString();
files = files + f.getAbsoluteFile() + ", ";
// y++;
}
// System.out.println(Arrays.toString(dirs));
// System.out.println(files.toString());
}
return files;
}
【问题讨论】:
-
将
walk( f.getAbsolutePath() + ", " )更改为walk( f.getAbsolutePath())+ ", " -
哈哈谢谢@Jerry06
标签: java arrays file recursion