File类

public class FileDemo {
    public static void main(String[] args) {
//      为了跨系统时灵活。不把符号写死
//      实现多路径的路径分隔符:;
        String string=File.pathSeparator;
//      代表文件夹层级的名称分隔符:\ /
        String string2=File.separator;
        
        

//      func();
//      func2();
//      func3();
//      func4();
        func5();
    }
    
    public static void func() {
//      win系统不区分大小写
//      Android系统:存储路径时sd卡时,该方法不区分大小写,但是路径在data/目录下时,改方法区分大小写
        
        
//      File构造
//      new File(String pathname/docname)
        
//      路径使用双斜杠:\\,由于转义字符
        File file=new File("d:"+File.separator+"新建文件夹"+File.separator+"新建文本文档.txt");
        System.out.println(file);
        
//      String/File parent
//      String      child   
//      file=new File(parent, child);
        
    }
    
    public static void func2() {
//      File创建
//      文件创建只能是txt
//      已存在的文件夹,方法返回false
        File file=new File("d:"+File.separator+"新建文件夹"+File.separator+"新.txt");
        try {
            boolean b=file.createNewFile();
            System.out.println(b);
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        
//      文件夹创建
//      单层文件夹
        boolean b=file.mkdir();
        System.out.println("1"+b);
        
//      多层文件夹
        b=file.mkdirs();
        System.out.println(b);
    }
    
    public static void func3() {
//      File获取
        File file=new File("d:"+File.separator+"新建文件夹"+File.separator+"新.txt");
        
//      获取文件字节数
        long length=file.length();
        System.out.println("func3--"+length);
        
//      获取绝对路径
//      String 
        file.getAbsolutePath();
        file.getParent();
//      File
        file.getAbsoluteFile();
        file.getParentFile();
        
//      获取子文件和文件夹
//      String[] list
        String[] strings=file.list();
        for (String string: strings) {
            System.out.println(string);
        }
        
//      File[] listFiles
        File[] files=file.listFiles();
    }
    
    public static void func4() {
//      File判断文件是否存在
        File file=new File("d:");
        boolean b=file.exists();
//      File判断是否文件夹
        b=file.isDirectory();
//      File判断是否文件
        b=file.isFile();
    }
    
//  文件过滤器
//  遍历目录时使用
//  listFiles的重载(FileFilter接口的实现类)
    /**
     * 创建FileFilter接口实现类
     * 使用listFiles方法的重载
     */
    public static void func5() {
        File file=new File("d:");
        File[] files=file.listFiles(new MyFilter());
        
        for (File file2 : files) {
            System.out.println(file2);
        }
    }
    
//  FileFilter接口的实现类
    static class MyFilter implements FileFilter{
        @Override
        public boolean accept(File pathname) {
            // TODO Auto-generated method stub
            if (pathname.isFile()) {
                return true;
            }
            return false;
        }
    }
}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容