文件的操作

Filter(过滤器)

在File类中有两个和listFiles重载的方法,方法的参数传递的就是过滤器
File[] listFiles(FileFilter filter)
java.io.FileFilter接口:用于抽象路径名(File对象)的过滤器
作用:用来过滤文件(File对象)
抽象方法:用来过滤文件的方法
boolean accept(File pathname) 测试指定抽象路径名是否应该包含在某个路径名列表中
参数:
File pathname:使用 ListFilter方法遍历目录,得到的每一个文件对象

File[] listFiles(FilenameFilter filter)
java.io.FilenameFilter接口:实现此接口的类实例可用于过滤器文件名
作用:用于过滤文件名称
抽象方法:用来过滤文件的方法
boolean accept(File dir,String name)测试指定文件是否应该包含在某一文件列表中
参数:
File dir:构造方法中传递的被遍历的目录
String name:使用ListFilter方法遍历 目录,获取每一个文件/文件夹的名称
注意:
两个过滤器接口是没有实现类的,需要我们自己写实现类,重写过滤的方法accept,在方法中自己定义过滤器的规则

 

文件过滤器(Filter)的原理

 

IO流的概念及分类

文件的操作_第1张图片

 

OutStream字节输出流

java.io.OutputStream: 这个抽象类是表示字节输出流的所有类的超类。

定义了一些子类共性的成员方法:
public void close() : 关闭此输出流并释放与此流相关联的任何系统资源
public void flush() : 刷新此输出流并强制任何缓冲的输出字节被写出。
public void write(byte[] b) : 将 b.length 字节从指定的字节数组写入此输出流
public void write(byte[] b,int off, int len) : 从指定的字节数组写入 len字节,从偏移量 off开始输出到此输出流
public abstract void write(int b) : 将指定的字节输出流

java.io.FileOutputStream extends OutputStream
FileOutputStream : 文件字节输出流
作用:把内存中的数据写入到硬盘的文件中

构造方法:
FileOutputStream(String name) 创建一向具有指定名称的文件中写入数据的输出文件流。
FileOutputStream(File file) 创建一个向指定File对象表示的文件中写入数据的文件输出流
参数: 写入数据的目的
String name:目的地是一个文件的路径
File file : 目的地是一个文件
构造方法的作用:
1、创建一个FileOutputStream对象
2、会根据构造方法中传递的文件/文件路径,创建一个空的文件
3、会把FileOutputStream对象只想创建好的文件
写入数据的原理(内存)
java程序-->JVM(java虚拟机) --> os(操作系统) -->os调用写数据的方法 --> 把数据写入到文件中

字节输出流的使用步骤(重点):
1、创建一个FileOutputStream对象,构造方法中传递写入数据的目的地
2、调用FileOutputStream对象中的方法write,把数据写入到文件中
3、释放资源(流使用会占用一定的内存,使用完毕要把内存清空,提高程序的效率)

 1 public class Demo01OutputStream {
 2     public static void main(String[] args) throws IOException {
 3         //1、创建一个FileOutputStream对象,构造方法中传递写入数据的目的地
 4         FileOutputStream fos = new FileOutputStream("a.txt");
 5         //2、调用FileOutputStream对象中的方法write,把数据写入到文件中
 6 //        public abstract void write(int b) : 将指定的字节输出流
 7         fos.write(97);
 8         //3、释放资源(流使用会占用一定的内存,使用完毕要把内存清空,提高程序的效率)
 9         fos.close();
10     }
11 }


文件存储的原理和记事本打开文件的原理

文件的操作_第2张图片


你可能感兴趣的:(文件的操作)