Java

来源:互联网 发布:2015年nba总决赛数据 编辑:程序博客网 时间:2024/06/10 23:09

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

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("\t");            }            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;            }         });    }}