am cloning xml file in my java code in a such way:
public boolean isCrcCorrect(Path path) throws IOException, XPathExpressionException {
ByteArrayOutputStream output = new ByteArrayOutputStream();
if (!fileData.currentFilePath.equals(path.toString())) {
parseFile(path);
}
List<String> file_lines = Files.readAllLines(path);
//BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(output));
BufferedWriter bw = new BufferedWriter(new FileWriter(new File("f:\\Projects\\iqpdct\\iqpdct-domain\\src\\main\\java\\de\\iq2dev\\domain\\util\\debug.xml")));
for (int i = 0; i < file_lines.size(); i++) {
if (i != 0) {
bw.write("\n");
}
if (file_lines.get(i).equals(" <Stamp crc=\"3916602279\"><Checker name=\"IODD-Checker V1.1.1\" version=\"V1.1.1.0\"/></Stamp>")) {
bw.write(" <Stamp crc=\"\"><Checker name=\"IODD-Checker V1.1.1\" version=\"V1.1.1.0\"/></Stamp>");
} else {
bw.write(file_lines.get(i));
}
System.out.println(file_lines.get(i));
}
bw.flush();
bw.close();
crc.reset();
crc.update(output.toByteArray());
//debug
System.out.println(crc.getValue());
System.out.println(fileData.file_crc);
//return fileData.file_crc == crc.getValue();
return false;
}
I need to modiy attribute in xml (for debug I manualy made it in cycle).
I required this clone for checksum calculating. Result file "debug.xml" is identical to source (InteliJ IDEA told so), but size is different:
source: 41395, clone:40608 , so consequently I have incorrect checksum (CRC32 function)
What can causes this?