首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何纠正这种使用Java IO写入文件的静默失败?

如何纠正这种使用Java IO写入文件的静默失败?
EN

Stack Overflow用户
提问于 2009-11-30 21:09:16
回答 1查看 1.7K关注 0票数 2

我遇到了一个关于commons-io/java-io的奇怪问题。从本质上讲,我的文件创建正在默默地失败,没有任何异常。

代码语言:javascript
复制
FileUtils.writeLines(file, collectionOfStrings);

我查看了commons代码,试图弄清楚为什么它会默默地失败,但对我来说,它看起来应该抛出一个异常。(请参阅FileUtils.java中的1338、163行和IOUtils.java中的927行。)

为了尝试纠正这个问题,我在前一行之后的代码中添加了这个检查,

代码语言:javascript
复制
if (!file.exists()) {
    logger.warn("File creation failed.");
}

但是,即使文件创建失败,也不会进入此块。

我对这个问题束手无策,有更多Java IO经验的人能帮我吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2009-11-30 21:51:50

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

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

当命中此NoClassDefFoundError时,其余代码不会执行,包括file.exists()检查。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1819739

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档