Java 通过从文件读取字节数从目录生成哈希

Java 通过从文件读取字节数从目录生成哈希,java,directory,byte,size,Java,Directory,Byte,Size,我试图使用JFileChooser读取目录中的所有文件,然后获取每个文件的大小(字节数),然后创建一个简单的哈希。但是,它不会返回散列值。有人能帮忙吗 class OpenDirListner implements ActionListener { public void actionPerformed(ActionEvent e) { try { JFileChooser chooser = new JFileChooser();

我试图使用JFileChooser读取目录中的所有文件,然后获取每个文件的大小(字节数),然后创建一个简单的哈希。但是,它不会返回散列值。有人能帮忙吗

class OpenDirListner implements ActionListener {
    public void actionPerformed(ActionEvent e) {

        try {
            JFileChooser chooser = new JFileChooser();
            chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
            chooser.showOpenDialog(chooser);


            String dirName = chooser.getSelectedFile().getAbsolutePath();

            File files = new File(dirName);

            File[] fileName = files.listFiles();

            String names = "";

            if (files != null) {

                // iterate over files and directories
                for (File next : fileName) {

                    // Get name
                    String name = next.getName();

                    names = names + " \n" + name;

                }
            }

            byte[] bytes = Files.readAllBytes(Paths.get(dirName));

            int length = bytes.length;

            long total = 0;

            // Dump byte array contents and total the values.
            for (byte b : bytes) {

                total += b * 13;
            }

            // create a very simple hash (total of byte values, each multiplied by a prime
            // number, all of which is multiplied by file size)
            total *= length * 997;

            JOptionPane.showMessageDialog(null, "Directory Name:  " + dirName + "\n Filenames:  " + names+);

        } catch (Exception a) {
            JOptionPane.showMessageDialog(null, "Select a Directory");
        }
    }
}
当读取一个文件时,它工作正常,但是它不会为目录中的多个文件返回哈希值