package validator;
import java.io.File; import java.io.FileInputStream; import java.io.InputStream; import java.security.DigestInputStream; import java.security.MessageDigest; import java.util.ArrayList; import java.util.List;
public class HashValidtor {
private static List<File> files = new ArrayList<File>();
public static void main(String[] args) {
List<File> topLevelDirectories = HashValidtor.getChildren(HashValidtor.createNewFile("C://ta3j"));
addFiles(topLevelDirectories);
for (File file : files)
System.out.println(file.getName()+"|"+HashValidtor.createHashOfFile(file));
}
private static void addFiles(List<File> fileArray) {
for (File topLevelFile : fileArray) {
if (topLevelFile.isFile() && (!topLevelFile.isHidden()))
files.add(topLevelFile);
else if (topLevelFile.isDirectory() && (!topLevelFile.isHidden())) {
HashValidtor.addFiles(HashValidtor.getChildren(topLevelFile));
}
}
}
private static List<File> getChildren(File singleFile) {
List<File> files = new ArrayList<File>();
for (File file : singleFile.listFiles()) {
files.add(file);
}
return files;
}
public static File createNewFile(String name) {
return new File(name);
}
public static byte[] createHashOfFile(File file) {
MessageDigest md ;
try {
md = MessageDigest.getInstance("MD5");
InputStream is = new FileInputStream(file);
DigestInputStream dis = new DigestInputStream(is, md);
return md.digest();
}catch(Exception e){
return null;
}
}
}