【问题标题】:What are the possible exception occurs during copying file?复制文件期间可能发生的异常是什么?
【发布时间】:2009-01-30 11:02:58
【问题描述】:

我的程序必须将文件从一个文件夹复制到另一个文件夹。我已经使用 InputStream 和 OutputStream 来做同样的事情。文件大小约为 5GB。在此过程中可能会发生哪些异常以及如何发生?因为我需要在单元测试用例文档中提及相同...请帮助。

【问题讨论】:

    标签: java file-io


    【解决方案1】:

    查看java docs 以了解您正在使用的方法。任何 Sun Java 文档都会提到方法可以抛出的异常。

    我猜是 FileNotFoundException、NullPointerException、IOException。

    【讨论】:

    • IOException 是所有 IO 异常的超类(即 FileNotFoundException 是 IOException 的子类),因此您可能只是这样说。 NullPointerException 是一个运行时异常,因此可能没有必要放置。
    • 您可以,但通常您希望尽可能具体,因为您可能希望根据异常类型采取不同的操作。关于 NPE,任何抛出的异常都必须记录在案。
    【解决方案2】:

    还可以考虑使用 NIO 进行文件复制,因为您可能会获得更好的性能,这对于如此大的文件应该是显而易见的:

    看看来自 JavaLobby 的 this post,它显示了使用 java.io.FileChannels 完成繁重工作的静态文件复制方法。

    【讨论】:

      【解决方案3】:

      作为一般规则,检查的异常不会凭空出现。它们被明确声明为由您使用的方法抛出(检查Java API)。一个好的 IDE(例如NetBeans)甚至会在遇到异常时自动提示您捕获或声明这些异常。此外,如果您不处理这些异常,您甚至无法编译您的代码。您一直在用Javadoc 记录所有这些例外情况,对吗? =)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-06-17
        • 1970-01-01
        • 2017-01-18
        • 2021-07-25
        • 2017-09-16
        • 2021-12-20
        • 1970-01-01
        相关资源
        最近更新 更多