文件操作类3(操作目录)

2019-01-29  本文已影响0人  秋笙fine

以上所有的文件操作都是围绕文件进行的,但是在整个磁盘上除了文件之外,还会包含有使用的目录,对于目录而言,最常用的功能就是列出目录组成。
File类有两个方法:
列出目录下信息:public String[] list();
列出所有的信息以File类对象包装:public File[] listFiles()

列出信息:

    public static void main(String[] args) throws Exception{
        File file=new File("e:"+File.separator);
        if(file.isDirectory()){
            String result[]=file.list();
            for (int i = 0; i < result.length; i++) {
                System.out.println(result[i]);
            }
        }
    
    }   

此时的确可以列出目录中内容了,但是列出来的是目录下的子目录或文件的名字

image.png

范例:列出全部的File类对象

    public static void main(String[] args) throws Exception{
        File file=new File("e:"+File.separator);
        if(file.isDirectory()){
            File result[]=file.listFiles();
            for (int i = 0; i < result.length; i++) {
                System.out.println(result[i]);
            }
        }
    
    }
image.png

很明显,第二种更加方便。

思考题:列出指定目录下的所有子路径
原则:如果现在给定的路径依然是一个目录,则应该向里面列出所有的组成(使用递归)

public class TestDemo{
    
    public static void main(String[] args) throws Exception{
        File file=new File("e:"+File.separator+"网易云音乐");
        print(file);    
    
    }   

    public static void print(File file){
        if(file.isDirectory()){//如果路径是目录
            File result[]=file.listFiles();//列出子目录
            if (result != null) {
                for (int i = 0; i < result.length; i++) {
                    print(result[i]);
                }
            }
        
        }
        System.out.println(file);
    }
}

读取网易云音乐目录下所有文件,包括所有的二级,多级目录

总结

1.File类本身只是操作文件的,不涉及到内容
2.File类中的重要方法
(1)设置完整路径:public File(String pathname)
(2)删除文件:public boolean delete();
(3)判断文件是否存在:public boolean exists()
(4)找到父路径:public File getParentFile()
(5)创建目录:public boolean mkdirs();

3.在使用File类操作的时候,路径的分隔符使用File.seperator

上一篇 下一篇

猜你喜欢

热点阅读