java - 检查文件是否已复制

标签 java file-io io file-handling

我正在编写一个小程序来复制文件。程序检查要复制的文件是否已复制到目标位置。

为了验证相同的文件是否存在,我比较以下两件事:

  1. 文件大小(源文件和目标文件)。
  2. 上次修改时间戳。

但是,我在 Java 中执行此操作时遇到以下问题:

  1. 使用 Java IO(输入/输出流)复制文件时,File.length 不会返回相同的数字(相差 1)。
  2. 使用 Java IO 复制文件时,复制文件的最后修改时间戳是当前日期/时间,而不是原始日期/时间。

请提出建议。

最佳答案

  1. 如果大小不同,则说明代码中存在错误。我可以假设 您正在处理文本文件并且没有正确处理新文件 行字符。如果您想复制文件,您应该使用 字节。显然这只是假设:您还没有发布任何内容 您的代码片段。
  2. 这是正确的。新文件只是原始文件的副本。 它的最后修改日期是文件最后一次修改的日期 修改,即当你写完它时。改变就是使用 File.setLastModifed() 方法。

关于java - 检查文件是否已复制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10726175/

相关文章:

c# - 读取已被另一个进程使用的文件

用于在命令行上编写表格的 Java 库

C 在二进制文件中间写入而不覆盖任何现有内容

python - 当我看到特殊的 eol 字符时,如何使用 Python 识别它?

c++ - 如何在 C++ 中创建缓冲区以创建新文件

C++ Quantlib 输出到控制台窗口

java - 如何计算数字在 .txt 文件中出现的次数

java - 在一个类中使用 Mockito spy 从另一个类调用静态方法

java - 象棋游戏的序列化

java - 披萨订购计划