haguai 2012-06-04 22:36 采纳率: 0%
浏览 326
已采纳

Java复制二进制文件前后数据不完全一致

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;

public class TestClass {

public static void main(String[] args) throws IOException {
    FileInputStream in = new FileInputStream(new File("F:/360Downloads/LoginAction.class"));
    FileOutputStream out = new FileOutputStream(new File("F:/LoginAction.class"));
    byte[] temp = new byte[1024];
    while(in.read(temp)!=-1){
        out.write(temp);
    }

// out.flush();
in.close();
out.close();
System.out.println("---------------");
}
}
代码其实很简单,就是用java复制二进制文件。我用BCompare.exe比较一下,发现复制后的文件末尾多了一段数据,不知道是什么东西,如何保证复制前后文件二进制数据一模一样?也请解释一下采用上述代码,多出来的那段是什么东西。谢谢!

  • 写回答

3条回答 默认 最新

  • _1_1_7_ 2012-06-05 08:53
    关注

    [quote]while(in.read(temp)!=-1){
    out.write(temp);
    } [/quote]

    [code="java"]
    int len;

    while((len=in.read(temp))!=-1){
    out.write(temp,0,len);
    }

    [/code]

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog