【问题标题】:Cannot copy a file using "File.copy" method in java无法在java中使用“File.copy”方法复制文件
【发布时间】:2021-09-19 04:20:58
【问题描述】:

我是 Java 新手。

当我尝试使用 java 中的“File.copy”方法复制文件时。 该过程没有错误地结束。

但是我需要复制的文件是用一个奇怪的字符创建的(我认为它是一个文件结束字符)。并且除此之外没有其他内容。

这是我的源代码,

var sourceFile = new File("mySourceFile.txt")
var destinyFile = new File("myDestinyFile.txt");
Files.copy(sourceFile.toPath(), destinyFile.toPath());

【问题讨论】:

  • 你的问题是什么?
  • 在尝试复制源文件之前,您是否关闭了任何打开的写入源文件的输出流?
  • @VGR 不,我没有
  • 你应该关闭所有的OutputStreams,这样文件的内容就被完全写入了。您可能还想在复制文件之前打印出文件的大小。

标签: java file file-io io ioerror


【解决方案1】:

您要复制的文件是一个字符还是一百个字符都没有关系。你说这个过程没有错误地结束。这是否意味着它工作正常或它做错了,但你没有得到错误。如果是这种情况,您可以尝试采用这样的完整路径:

    var sourceFile = new File("C:\\Users\\Kevin\\test1.txt").toPath();
    var destinyFile = new File("C:\\Users\\Kevin\\test2.txt").toPath();
    
    Files.copy(sourceFile, destinyFile);

【讨论】:

  • 对不起,这与我使用的原始代码相似。
  • 您需要向我们提供有关您的问题的更多信息
【解决方案2】:

我解决了这个问题。

问题是已经为我必须打开的同一个命运文件打开了输出流。

所以 File.copy() 方法无法写入文件。

【讨论】:

    猜你喜欢
    • 2011-03-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-22
    • 1970-01-01
    • 1970-01-01
    • 2016-05-27
    • 1970-01-01
    相关资源
    最近更新 更多