使用Java的文件夹信息中的文件夹详细信息和文件

时间:2020-09-02 08:55:48

标签: java file

我有一个文件夹结构,如:E:\ Test。在其中,我有很多子文件夹,例如FolderA,FolderB,FolderC等。

我想要一个Java程序,该程序将列出所有子文件夹和子文件夹中的报告文件。我该如何实现?使用下面的代码片段,我可以访问E:\ Test目录中的其他文件夹,但是子文件夹中的文件没有出现。

<!doctype html>
<html lang="en">

    <head>
        <title>Learning Log</title>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
        <link crossorigin="anonymous" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" rel="stylesheet">
        <script crossorigin="anonymous" integrity="sha384-tsQFqpEReu7ZLhBV2VZlAu7zcOV+rXbYlF2cqB8txI/8aZajjp4Bqd+V6D5IgvKT" src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
<script crossorigin="anonymous" integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1" src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js"></script>
<script crossorigin="anonymous" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js"></script>
</head>
<body>  
        <nav class="navbar navbar-expand-md navbar-dark bg-dark mb-4 border">   
            <a class="navbar-brand" href="/"> Learning Log</a>
            <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarCollapse" aria-controls="navbarCollapse"
            aria-expanded="false" aria-label="Toggle navigation">
                <span class="navbar-toggler-icon"></span>
            </button>
            <div class="collapse navbar-collapse" id="navbarCollapse">
                <ul class="navbar-nav mr-auto">
                    <li class="nav-item active">
                        <a class="nav-link" href="/topics/">Topics<span class="sr-only">(current)</span></a>
                    </li>   
                </ul>
                <ul class="navbar-nav ml-auto">
                        <li class="nav-item">
                            <a class="nav-link" href="/users/registrater/">Registrater</a>
                        </li>
                        <li class="nav-item">
                            <a class="nav-link" href="/users/login/">Log in</a>
                        </li>
                </ul>
            </div>
        </nav>
    </body>
</html>

1 个答案:

答案 0 :(得分:0)

import java.io.File;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;

public class Main {

    private static final StringBuilder tabs = new StringBuilder();

    public static void main(String[] args) {
        try {
            Path start = new File("E:\\Test\\").toPath();
            System.out.println("List of files and folders in the directory " + start.getFileName() + ": ");
            Files.walk(start).forEach(Main::printInfo);
        } catch (IOException ignore) {
        }
    }

    public static void printInfo(Path path) {
        String tabs = Main.tabs.toString();
        if (Files.isDirectory(path)) {
            System.out.println(tabs + "Folder Name Is : " + path.getFileName());
            System.out.println(tabs + "Files under the " + path.toString() + ": ");
            Main.tabs.append("\t");
        } else {
            System.out.println(tabs + path.getFileName());
        }
    }
}
相关问题