【问题标题】:Trying to copy file from one location to another试图将文件从一个位置复制到另一个位置
【发布时间】:2010-08-09 08:01:17
【问题描述】:

您好,我正在尝试使用 commons fileUtils 将文件复制到另一个目录。我试过这个

FileUtils.copyFile(getOutputFile(), new File("RESULT/final_result.txt");

新的final_result.txt 文件只包含我的输出文件的第一行,我做错了什么?

有没有公共 IO 的替代方法,或者我会采取任何其他方式,只要它可以解决问题。

【问题讨论】:

标签: java apache-commons-io


【解决方案1】:

如果您在此操作之前写入文件(通过 getOutputFile() 获取),请确保 flush() 所有更改。
否则,它似乎是一个错误。但这不太可能。

【讨论】:

  • 如果你的意思是我刷新了正在写入输出文件的文件写入器,我还能刷新什么?
【解决方案2】:

首先,您似乎忘记关闭包含方法参数的括号。 第二,你确定 getOutputFile() 产生一个完整的文件吗?

【讨论】:

  • 我确定名称是正确的,并且没有抛出空指针,并且该文件有很多行,我怎么知道 getOutputFile 是否产生一个完整的文件?
【解决方案3】:

试试new File(Result,"final_result.txt");
结果的类型应该是File 和 final_result.txt String

【讨论】:

  • 即使我只放了最终结果 .txt 而没有结果,也会发生同样的事情
【解决方案4】:

也许您需要使用调试或睡眠来做一个简单的测试:

  1. 手动删除RESULT/final_result.txt
  2. 运行创建输出文件的代码并休眠,或在文件创建后使用带有调试功能的断点停止。
  3. 手动打开 RESULT/final_result.txt 看看里面有什么。
  4. 让您的程序完成它的任务。

您会发现您的写入未完成(在第 3 步中)并且您需要刷新/关闭正确的输出流,或者您会发现副本正在做一些奇怪的事情(这不太可能)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-01-30
    • 2013-05-02
    • 1970-01-01
    • 1970-01-01
    • 2019-03-21
    • 1970-01-01
    相关资源
    最近更新 更多