zoukankan      html  css  js  c++  java
  • 如何用 Java 代码列出一个目录下所有的文件?

    如果只要求列出当前文件夹下的文件,代码如下所示:

    import java.io.File;

    class Test12 {

    public static void main(String[] args) {

    File f = new File("/Users/Hao/Downloads");

    for(File temp : f.listFiles()) {

    if(temp.isFile()) {

    System.out.println(temp.getName());

    }

    }

    }

    }

    如果需要对文件夹继续展开,代码如下所示:

    import java.io.File;

    class Test12 {

    public static void main(String[] args) {

    showDirectory(new File("/Users/Hao/Downloads"));

    }

    public static void showDirectory(File f) {

    _walkDirectory(f, 0);

    }

    private static void _walkDirectory(File f, int level) {

    if(f.isDirectory()) {

    for(File temp : f.listFiles()) {

    _walkDirectory(temp, level + 1);

    }

    }

    else {

    for(int i = 0; i < level - 1; i++) {

    System.out.print(" ");

    }

    System.out.println(f.getName());

    }

    }

    }

    Java 7 中可以使用 NIO.2 的 API 来做同样的事情,代码如下所示:

    class ShowFileTest {

    public static void main(String[] args) throws IOException {

    Path initPath = Paths.get("/Users/Hao/Downloads");

    Files.walkFileTree(initPath, new SimpleFileVisitor<Path>() {

    @Override

    public FileVisitResult visitFile(Path file, BasicFileAttributes

    attrs)

    throws IOException {

    System.out.println(file.getFileName().toString());

    return FileVisitResult.CONTINUE;

    }

    });

    }

    }

  • 相关阅读:
    51 Nod 1068 Bash游戏v3
    51 Nod Bash 游戏v2
    51 Nod 1073 约瑟夫环
    UVA 12063 Zeros and ones 一道需要好好体会的好题
    51 Nod 1161 Partial sums
    2018中国大学生程序设计竞赛
    UVA 11971 Polygon
    UVA 10900 So do you want to be a 2^n-aire?
    UVA 11346 Possibility
    python with as 的用法
  • 原文地址:https://www.cnblogs.com/programb/p/13021404.html
Copyright © 2011-2022 走看看