如何用Java代码列出一个目录下所有的文件?

来源:互联网 发布:9分钟进5球 知乎 编辑:程序博客网 时间:2024/05/17 23:37
mport 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());            }        }    }}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

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

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("\t");            }            System.out.println(f.getName());        }    }}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26

在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;            }        });    }}
0 0
原创粉丝点击