public File runDiff(File oldFile,File newFile,File compareFile,Logger log)
{
//oldFileName=(oldFile.getPath()).replace('\\', '/');
oldFileName=oldFile.getPath();
System.out.println("filename"+oldFileName);
//newFileName=(newFile.getPath()).replace('\\', '/');
newFileName=newFile.getPath();
String[] commands=new String[3];
commands[0]="diff";
commands[1]=oldFileName;
commands[2]=newFileName;
log.info("command"+commands.toString());
try
{
Process proc=Runtime.getRuntime().exec(commands);
InputStream in = proc.getInputStream();
InputStreamReader reader = new InputStreamReader(in);
BufferedReader bufferedReader = new BufferedReader(reader);
BufferedWriter bufferedWriter = new BufferedWriter(new FileWriter(compareFile));
char buf[] = new char[1024]; //字符缓冲区
int len;
while ((len = bufferedReader.read(buf)) != -1)
{
bufferedWriter.write(buf, 0, len);
}
bufferedWriter.flush();
bufferedReader.close();
bufferedWriter.close();
}catch(IOException e){
log.error("数据比较出错"+ e.toString());
e.printStackTrace();
}
return compareFile;
}
此博客展示了一段Java代码,用于实现文件差异比较功能。代码接收旧文件、新文件和比较结果文件作为参数,通过执行'diff'命令获取文件差异,并将结果写入比较文件中,同时对可能出现的IO异常进行了处理。

2万+


被折叠的 条评论
为什么被折叠?



