Le matériel a été emprunté à PhotoAC. Image originale: Femme avec PC
Un fichier qui n'est qu'une copie du fichier source de la copie. Puisqu'il n'y a aucune différence dans les données binaires, le résultat de la comparaison est supposé être vrai.
Une version légèrement modifiée du fichier source après l'avoir copié. Le petit point noir sur le côté droit de la face est la partie éditée. Depuis qu'il a été modifié, le résultat de la comparaison est supposé être faux.
Puisqu'il s'agit d'un fichier complètement différent, le résultat de la comparaison est supposé être False.
Spécifiez un nom de fichier qui n'existe pas. Supposé être intercepté par IOException.
Les fichiers image sont stockés dans le dossier «fichiers» sur le bureau.
Main.java
package samples.compare;
public class Main {
public static void main(String...strings) {
//Fichier source de comparaison
String woman_1 = "C:\\\\Users\\user\\Desktop\\files\\woman_1.jpg ";
//Fichier à comparer
String woman_1_copy = "C:\\\\Users\\user\\Desktop\\files\\woman_1_copy.jpg ";
String woman_1_edit = "C:\\\\Users\\user\\Desktop\\files\\woman_1_edit.jpg ";
String woman_2 = "C:\\\\Users\\user\\Desktop\\files\\woman_2.jpg ";
String errer = "C:\\\\Users\\user\\Desktop\\files\\errer.jpg ";
//Génération d'instance
FileCompare fc_copy = new FileCompare(woman_1, woman_1_copy);
FileCompare fc_edit = new FileCompare(woman_1, woman_1_edit);
FileCompare fc_2 = new FileCompare(woman_1, woman_2);
FileCompare fc_errer = new FileCompare(woman_1, errer);
//Afficher les résultats de la comparaison
System.out.println("woman_1 compare to woman_1_copy : " + fc_copy.fileCompare() );
System.out.println("woman_1 compare to woman_1_edit : " + fc_edit.fileCompare() );
System.out.println("woman_1 compare to woman_2 : " + fc_2.fileCompare() );
System.out.println("woman_1 compare to errer : " + fc_errer.fileCompare() );
}
}
FileCompare.java
package samples.compare;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.Arrays;
public class FileCompare {
private String source;
private String destination;
public FileCompare(String source, String destination) {
this.source = source ;
this.destination = destination;
}
public boolean fileCompare() {
try {
return Arrays.equals(Files.readAllBytes(Paths.get(source)), Files.readAllBytes(Paths.get(destination)));
} catch (IOException e) {
e.printStackTrace();
System.out.println("Impossible de lire le fichier.");
}
return false;
}
}
Comme prévu, tout sauf les fichiers copiés est Flase. En outre, si vous spécifiez un nom de fichier qui n'existe pas, une IOException a été levée.
woman_1 compare to woman_1_copy : true woman_1 compare to woman_1_edit : false woman_1 compare to woman_2 : false java.nio.file.NoSuchFileException: C:\Users\user\Desktop\files\errer.jpg at sun.nio.fs.WindowsException.translateToIOException(Unknown Source) at sun.nio.fs.WindowsException.rethrowAsIOException(Unknown Source) at sun.nio.fs.WindowsException.rethrowAsIOException(Unknown Source) at sun.nio.fs.WindowsFileSystemProvider.newByteChannel(Unknown Source) at java.nio.file.Files.newByteChannel(Unknown Source) at java.nio.file.Files.newByteChannel(Unknown Source) at java.nio.file.Files.readAllBytes(Unknown Source) at samples.compare.FileCompare.fileCompare(FileCompare.java:19) at samples.compare.Main.main(Main.java:21) Impossible de lire le fichier. woman_1 compare to errer : false
Qiita Comment déterminer si le contenu du fichier correspond (Java)
PhotoAC <a href = "https://www.photo-ac.com/main/detail/3302344?title=PC%E3%82%92%E6%8C%81%E3%81%A4%E5%A5%B3 % E6% 80% A7 "rel =" noopener noreferrer "target =" _ blank "> Femme avec PC <a href = "https://www.photo-ac.com/main/detail/3411890?title=PC%E3%82%92%E6%93%8D%E4%BD%9C%E3%81%99 % E3% 82% 8B% E5% A5% B3% E6% 80% A7 "rel =" noopener noreferrer "target =" _ blank "> Femme utilisant un PC
Recommended Posts