我正在尝试列出目录中的文件数。但我无法理解,我怀疑这与父目录名称中的空格有关。
我正在做的是在 .properties 文件中,我将值设置为 -
dir.loc=H:/Main/dir one/dir - two/dir3/dir four
dir.name=Run
现在在一个 jave 文件中,我将这些值设置为字符串变量 -
String s1 = properties.getProperty("dir.loc");
String s2 = properties.getProperty("dir.name");
我创建一个 File 对象为 -
File f = new File(s1, s2);
File[] fList = f.listFiles();
现在 fList
是 null
;
H 驱动器在另一台远程机器上,我认为 java 程序试图在本地找到“运行”目录而不是在 H 驱动器上找到它,因为它没有找到“运行”列表返回 null
.
当我在一个简单的 java 类中尝试作为 -
File f = new File("H:/Main/dir one/dir - two/dir3/dir four", "Run");
然后我用 f.listFiles().length;
得到结果
所以我猜它可能需要做一些事情,从属性文件中提取值并将其分配给一个字符串变量。
我的假设是否正确?
有什么可能解决这个问题?
最佳答案
是的,你是对的。从属性文件中读取值时,值被搞砸了。 改为这样做:
dir.loc="H:/Main/dir one/dir - two/dir3/dir four"
关于java - 目录名称中带有空格的文件对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8517838/