Java如何读取递归文件

Java如何读取递归文件,java,Java,我想读取给定路径中的所有文件,并在每个文件的输出中显示路径和字节大小。小提示:如果要检查文件是否更改,请不要使用MD5或SHA等。使用Adler32等校验和。像MD5、SHA-x这样的散列算法比你读的硬盘慢得多。你可以创建一个方法,将文件路径作为输入。接下来,对于列表中的每个文件(或者如果希望在控制台中运行,则在无限while循环中),可以将其发送到此方法并获取md5(Oracle Java教程的一部分)。 public class ReadFilesInPathRecursion { pub

我想读取给定路径中的所有文件,并在每个文件的输出中显示路径和字节大小。

小提示:如果要检查文件是否更改,请不要使用MD5或SHA等。使用Adler32等校验和。像MD5、SHA-x这样的散列算法比你读的硬盘慢得多。你可以创建一个方法,将文件路径作为输入。接下来,对于列表中的每个文件(或者如果希望在控制台中运行,则在无限while循环中),可以将其发送到此方法并获取md5(Oracle Java教程的一部分)。
public class ReadFilesInPathRecursion {

public void listFiles (String startDir) {
    File dir = new File(startDir);
    File[] files = dir.listFiles();
    
    if (files!=null && files.length >= 0) {
        for(File file : files) {
            
            if(file.isDirectory()) {
                listFiles(file.getAbsolutePath()); // Recursion (absolute)
            } else {
                System.out.println(file.getName() + " (size in bytes: " + file.length() + ") " + "(path: " + file.getAbsoluteFile() + ")");
            }
            
        }
    }
    
}

public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    ReadFilesInPathRecursion test = new ReadFilesInPathRecursion();
    String startDir = sc.next();
    test.listFiles(startDir);
    }