Use JGit TreeWalk to list files and folders

穿精又带淫゛_ 提交于 2019-12-03 23:45:20

Git does not track directories of their own. You can only derive non-empty directory names from the path string you get from the TreeWalk.

See the Git FAQ (search for 'empty directory') for a detailed explanation and possible workarounds.

You need to set recursive to false (see documentation) and then walk like this:

TreeWalk treeWalk = new TreeWalk(repository);
treeWalk.addTree(tree);
treeWalk.setRecursive(false);
while (treeWalk.next()) {
    if (treeWalk.isSubtree()) {
        System.out.println("dir: " + treeWalk.getPathString());
        treeWalk.enterSubtree();
    } else {
        System.out.println("file: " + treeWalk.getPathString());
    }
}
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!