我遇到了一个与commons-io / java-io有关的奇怪问题。基本上我的文件创建是无声的失败而没有例外。
FileUtils.writeLines(file, collectionOfStrings);
我查看了公共代码,试图弄清楚为什么会无声地失败,但对我而言,看起来它应该抛出异常。 (参见FileUtils.java中的第1338,163行和IOUtils.java中的第927行。)
为了尝试纠正此问题,我将此检查添加到上一行
之后的代码中if (!file.exists()) {
logger.warn("File creation failed.");
}
但是,即使文件创建失败,也不会输入此块。
我最终会遇到这个问题,任何对Java IO有更多经验的人都可以帮助我吗?
答案 0 :(得分:1)
我有点尴尬,但我忘了在我的网络应用程序中包含commons-io jar。导致运行时问题。
我真正的问题是java.lang.NoClassDefFoundError:org / apache / commons / io / FileUtils 消息没有进入我的日志,因为 NoClassDefFoundError不是异常,这是Sun的精彩架构。
当遇到此NoClassDefFoundError时,其余代码未执行,包括file.exists()检查。