Hallo,
ich hadere mal wieder an einem Problem
Ich möchte zwei Dateien vergleichen!
Ich dachte mir ich mach es mir ganz einfach und vergleiche einfach alle bytes:
public boolean compare(File f1, File f2) {
try {
log.add("Comparing File Bytes: ");
Path f1_path = Paths.get(f1.getPath());
byte[] f1_Data = Files.readAllBytes(f1_path);
Path f2_path = Paths.get(f1.getPath());
byte[] f2_Data = Files.readAllBytes(f2_path);
for (int i = 0; i < f1_Data.length; i++) {
log.add("Comparing "+i+" Byte: ");
if (f1_Data** == f2_Data**) log.add("--EQUAL--");
else { log.add("FAIL--UNEQUAL--FAIL"); return false;}
}
log.add("Comparing finished - all EQUAL");
return true;
} catch (IOException ex) {
log.add("Following IOException occured: "+ex.getMessage());
ex.printStackTrace();
log.add("AccessDenied Reason: "+((AccessDeniedException) ex).getReason());
return false;
}
}```
Nur leider kommt direkt beim ersten "Files.readAllBytes(f1_path);" folgende Exception:
java.nio.file.AccessDeniedException: C:\Users\Josh\1
at sun.nio.fs.WindowsException.translateToIOException(WindowsException.java:83)
at sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:97)
at sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:102)
at sun.nio.fs.WindowsFileSystemProvider.newByteChannel(WindowsFileSystemProvider.java:229)
at java.nio.file.Files.newByteChannel(Files.java:315)
at java.nio.file.Files.newByteChannel(Files.java:361)
at java.nio.file.spi.FileSystemProvider.newInputStream(FileSystemProvider.java:380)
at java.nio.file.Files.newInputStream(Files.java:106)
at java.nio.file.Files.readAllBytes(Files.java:2952)
at util.DataHandler.compare(DataHandler.java:128)
usw…
Hatte vielleicht jemand schonmal dieselbe Exception oder weiß aus anderen Gründen wie das Problem zu lösen ist?
Wäre sehr Dankbar ;)