File类

IO流

File类:java.io.File

静态属性

String pathSeparator = File.pathSeparator;//路径分割符 Windows; Linux:
        String separator = File.separator;//文件名称分割符 Windows反斜杠\ Linux正斜

构造方法:

 File file01 = new File("D:\\test");
        File file02 = new File("D:\\test\\a.txt");
        File file03 = new File("a.txt");
        File parent = new File("c:\\");
        File file05 = new File(parent,"hello.java");
        //用parent+child组合路径
    private static void method02(String parent,String child) {
        File file04 = new File(parent,child);
    }

常用方法

获取

 private static void method01() {//获取
        //获取绝对路径
        File f2 = new File("a.txt");
        String AbsolutePath2 = f2.getAbsolutePath();
        System.out.println(AbsolutePath2);//D:\IDEA_workspace\EpointProject\a.txt
        //获取路径
        File f21 = new File("D:\\test\\a.txt");
        String Path1 = f1.getPath();
        System.out.println(Path1);//D:\test\a.txt
        System.out.println(f21 );//D:\test\a.txt
        System.out.println(f21.toString());//D:\test\a.txt
        //获取文件名
        File f31 = new File("D:\\test\\a.txt");
        System.out.println(f31.getName());//a.txt
        File f32 = new File("D:\\test");
        System.out.println(f32.getName());//test
        //获取文件大小
        File f41 = new File("D:\\test");
        System.out.println(f41.length());//630468字节,路径不存在返回0
    }
   

判断

  private static void method02() {  //判断
        File f1 = new File("D:\\test\\a.txt");
        System.out.println(f1.exists());//false;判断当前文件或目录是否真实存在
        File f2 = new File("D:\\test");
        //前提当前文件或目录真实存在,否则都为false
        if(f2.exists()){
            System.out.println(f2.isDirectory());//true 判断是否是文件夹
            System.out.println(f2.isFile());//false 判断是否是文件
        }
    }

创建

private static void method03() throws Exception { //创建
        //创建文件
       File f1 = new File("D:\\test\\a.txt");
       boolean b1 =  f1.createNewFile();//路径正确文件不存在返回true;路径正确文件存在返回false;路径错误抛异常
    //创建文件夹
        /*
        路径正确文件夹不存在返回true;
        路径正确文件夹存在返回false;
        路径错误返回false
         */
       File f2 = new File("D:\\test\\file");
        boolean b2=  f2.mkdir();

        File f4 = new File("File\\a\\b");
        boolean b4=  f4.mkdirs();
    }

删除

 private static void method04() {
        File f1 = new File("D:\\test\\file");
        boolean b1= f1.delete();    
    }

遍历

  File f4 = new File("File");
        String[] fileNames = f4.list();
        for (String fileName:fileNames) {
            System.out.println(fileName);//a
        }
        File[] files = f4.listFiles();
        for (File file:files) {
            System.out.println(file);//File\a
        }
private static void method06( File f) {
        File[] files = f.listFiles();
        for (File file:files) {
            if(file.isDirectory()){
                method06(file);
            }else{
                String s = file.getPath();
                s = s.toLowerCase();//转为小写
                boolean b = s.endsWith(".class");
                if(b){
                    System.out.println(file);//输出所有.class文件
                }
            }
        }
    }

FileFilter

private static void method06( File f) {
 //筛选.java文件,lambda表达式方式
 File[] files = f.listFiles(pathname ->	pathname.isDirectory()||pathname.getName().toLowerCase().endsWith(".java") );		
//以匿名内部类方式
File[] files = f.listFiles(new FileFilter() {//2.匿名内部类方式
	@Override
	public boolean accept(File pathname) {			
		return pathname.isDirectory()|| pathname.getName().toLowerCase().endsWith(".class");
	}		 
 });
 }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值