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); } } }

浙公网安备 33010602011771号