Java IO File

java.io.File
* 将操作系统中的,文件,目录(文件夹),路径,封装成File对象
* 提供方法,操作系统中的内容
* File与系统无关的类
* 文件 file
* 目录 directory
* 路径 path

 

 

File类的构造方法
* 三种重载形式

//传递路径名: 可以写到文件夹,可以写到一个文件
File file = new File("d:\\eclipse");//将路径封装为File类型对象

//传递字符串父路径,字符串子路径
File file = new File("d:","eclipse");

//传递路径,传递File类型父路径,字符串子路径
File parent = new File("d:");
File file = new File(parent,"eclipse");

 

 

 


* 返回路径中表示的文件或者文件夹名
* 获取路径中的最后部分的名字

File file = new File("d:\\eclipse\\eclipse.exe");
String name = file.getName();

获取父路径

File file = new File("d:\\eclipse\\eclipse.exe");
File parent = file.getParentFile();

 

File file = new File("d:\\eclipse\\eclipse.exe");

String path = file.getPath();
System.out.println(path);

String str = file.toString();
System.out.println(str)

获取绝对路径

File file = new File("src");
File absolute = file.getAbsoluteFile();

返回路径中表示的文件的字节数

File file = new File("d:\\eclipse\\eclipse.exe");
long length = file.length();

获取系统中的所有根目录

File[] fileArr = File.listRoots();
for(File f : fileArr){
    System.out.println(f);
}

遍历一个目录

        
File file = new File("d:\\eclipse");
String[] strArr = file.list();//返回的是字符串 名字   仅是目录或文件的名字
System.out.println(strArr.lngth);
for(String str : strArr){
    System.out.println(str);
}

File file = new File("d:\\eclipse");
File[] fileArr = file.listFiles();//返回的是File类型的 路径   目录或者文件的全路径
for(File f : fileArr){
    System.out.println(f);
}

文件获取 过滤器
* 遍历目录的时候,可以根据需要过滤,只获取满足条件的文件
* 重载遍历目录方法 listFiles()—>listFiles(FileFilter filter)
* 重载方法中 参数为 接口类型 实际需要传递接口FileFilter的实现类
* 自定义FileFilter接口实现类,重写抽象方法accept,
* 该方法accept中的参数  就是listFiles方法返回的数组中的元素 f  一个File路径

 

 

题设

D盘根目录下 存在demo文件夹 

该文件夹下有两个文件  1.txt 文件 和 test.java文件

过滤 只获取得到java文件

import java.io.File;
import java.io.FileFilter;

/*
 *  自定义过滤器
 *  实现FileFilter接口,重写抽象方法
 */
public class MyFilter implements FileFilter{
    public boolean accept(File pathname)  {
        /*
         * pathname 接收到的是文件的全路径
         * 对路径进行判断,如果是java文件,返回true,不是java文件,返回false
         */
        //String name = pathname.getName();
        return pathname.getName().endsWith(".java");
        
    }
}

import java.io.File;

public class FileDemo {
    public static void main(String[] args) {
        File file = new File("d:\\demo");
        File[] fileArr = file.listFiles(new MyFilter());
        for(File f : fileArr){
            System.out.println(f);
        }
    }
}

 

posted @ 2020-05-25 18:54  CherryYang  阅读(184)  评论(0)    收藏  举报