2

我在 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经验的人可以帮助我吗?

4

1 回答 1

1

我有点尴尬,但我忘了在我的 Web 应用程序中包含 commons-io jar。导致运行时问题。

我真正的问题是 java.lang.NoClassDefFoundError: org/apache/commons/io/FileUtils 消息没有进入我的日志,因为NoClassDefFoundError 不是一个例外,Sun 在这里的出色架构。

当这个 NoClassDefFoundError 被命中时,其余代码没有执行,包括 file.exists() 检查。

于 2009-11-30T13:51:49.570 回答