目录名中有空格的java文件对象
我试图列出目录中的文件数。但我无法做到这一点,我怀疑这与父目录名中的空白有关
我现在所做的是在一个特殊的环境中。属性文件我将该值设置为-
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 f = new File(s1, s2);
File[] fList = f.listFiles();
现在这里的fList
是null
H驱动器在另一台远程机器上,我估计java程序会尝试在本地定位“Run”目录,而不是在H驱动器上找到它,因为它没有找到“Run”,所以列表返回null
当我尝试在一个简单的java类中使用-
File f = new File("H:/Main/dir one/dir - two/dir3/dir four", "Run");
然后我用f.listFiles().length;
得到结果
所以我想它可能需要从属性文件中提取值并将其分配给字符串变量
我的假设正确吗
这个问题的可能解决方案是什么
# 1 楼答案
好的,我找到了解决问题的方法,其实很简单
我做了以下事情-
在属性文件中-
在配置java文件中-
在我的java程序中-
dirLoc.listFiles().length;
给出一个数字@barti_ddu关于getAbsolutePath()的评论让我开始思考可能正在使用它
这个解决方案有什么问题吗?还是不太合适
谢谢大家
# 2 楼答案
看起来你只需要调整你房产的价值。 在您显示的代码中
有尾随空格
这样做:
修好了吗
# 3 楼答案
是的,你说得对。从属性文件中读取值时,这些值会出错。 改为这样做: