- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在开发一个模拟文件存储库的项目,因此我使用了大量的文件操作。我正在 Windows8 机器上开发它,但它也应该可以移植到其他平台。要求该项目是用 Java 6 编写的。请考虑以下代码:
public void add(String description, boolean move, String repPath, String filePath) throws Exception {
...
File fileToAdd = new File(filePath);
if(!fileToAdd.exists()) throw new FileNotFoundException(filePath + " does not exist.");
...
addDataset(description, move, repPath, fileToAdd, parentID);
...
}
参数filePath
是一个名为move.txt
的文件的相对路径(我自己直接在文件系统上创建了这个相当标准的文本文件)。
现在,首先,fileToAdd.exists()
检查失败(更不用说事实上,这段代码在过去几周内并不是一个问题)。但我 100% 确定该文件确实存在于该位置。我打印出了绝对路径,这似乎是正确的路径,所以我看不出为什么检查失败......此外, fileToAdd.canRead()
失败(我已经对此进行了测试有时这在我评论过的类似帖子中起作用)。 fileToAdd.getAbsoluteFile().exists()
也会失败。
为了测试其余代码,我暂时删除了这一行,并发现了另一个问题:
private void addDataset(String description, boolean move, String repPath, File datasetToAdd, long parentID) {
if(datasetToAdd.isFile()){
addFile(description, move, repPath, datasetToAdd, parentID);
} else {
...
}
}
在第二个代码段中,datasetToAdd
-File 对象与上面的 fileToAdd
相同,因此它确实应该是一个文件(即 move. txt
)。但是 datasetToAdd.isFile()
检查失败!我在javadoc中读到,如果文件对象不代表目录(我很确定这不是问题)或“正常”文件,就会发生这种情况......我没有发现,什么一个不正常的文件是不正常的,但是如果一个简单的文本文件不正常,那么什么是不正常的?
最佳答案
每次出现“java 找不到该文件...我知道它在那儿!”之类的问题时,它不在那里,因为:
JVM的当前目录不是你想象的那样。
最快的调试方法是:
System.out.println(file.getAbsolutePath());
您很快就会明白为什么 java“找不到”该文件。
关于Java 6 file.exists() 和 file.isFile() 莫名其妙地失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19414919/
echo "Language"; echo " Select... English(US) English(AU)
好吧,我真的不知道为什么会这样。我目前正在实现一个线程容器,它以分离的方式运行无限循环,限制在每次迭代之间的特定速度。 标题: class timeloop { public: std::th
我收到 System.InvalidOperationException: Collection was modified;枚举操作可能无法执行: ExceptionLoggingLibrary.Lo
我是一名优秀的程序员,十分优秀!