我遇到了一个关于commons-io/java-io的奇怪问题。从本质上讲,我的文件创建正在默默地失败,没有任何异常。
FileUtils.writeLines(file, collectionOfStrings);我查看了commons代码,试图弄清楚为什么它会默默地失败,但对我来说,它看起来应该抛出一个异常。(请参阅FileUtils.java中的1338、163行和IOUtils.java中的927行。)
为了尝试纠正这个问题,我在前一行之后的代码中添加了这个检查,
if (!file.exists()) {
logger.warn("File creation failed.");
}但是,即使文件创建失败,也不会进入此块。
我对这个问题束手无策,有更多Java IO经验的人能帮我吗?
发布于 2009-11-30 21:51:50
我有点尴尬,但我忘了在我的web应用程序中包含commons-io jar。导致运行时问题。
我真正的问题是java.lang.NoClassDefFoundError: org/apache/commons/io/FileUtils消息没有进入我的日志,因为NoClassDefFoundError不是一个例外,Sun在这里提供了一个很棒的架构。
当命中此NoClassDefFoundError时,其余代码不会执行,包括file.exists()检查。
https://stackoverflow.com/questions/1819739
复制相似问题