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;

    }

    });

    }

    }

  • 相关阅读:
    转 oracle catalog 库常用脚本
    转 【ORACLE】ORA-12537 问题整理
    转 Trace a specific ORA- error
    15%
    MySQL 存储过程
    MySQL 命令行客户机的分隔符
    MySQL 连接join
    MySQL 正则表达式
    MySQL 日期时间函数
    Arthas 快速入门
  • 原文地址:https://www.cnblogs.com/programb/p/13021404.html
Copyright © 2011-2022 走看看