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,在方法中本身定义过滤器的规则
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 : 目的地是一个文件
构造方法的做用:
一、建立一个FileOutputStream对象
二、会根据构造方法中传递的文件/文件路径,建立一个空的文件
三、会把FileOutputStream对象只想建立好的文件
写入数据的原理(内存)
java程序-->JVM(java虚拟机) --> os(操做系统) -->os调用写数据的方法 --> 把数据写入到文件中
字节输出流的使用步骤(重点):
一、建立一个FileOutputStream对象,构造方法中传递写入数据的目的地
二、调用FileOutputStream对象中的方法write,把数据写入到文件中
三、释放资源(流使用会占用必定的内存,使用完毕要把内存清空,提升程序的效率)
1 public class Demo01OutputStream { 2 public static void main(String[] args) throws IOException { 3 //一、建立一个FileOutputStream对象,构造方法中传递写入数据的目的地 4 FileOutputStream fos = new FileOutputStream("a.txt"); 5 //二、调用FileOutputStream对象中的方法write,把数据写入到文件中 6 // public abstract void write(int b) : 将指定的字节输出流 7 fos.write(97); 8 //三、释放资源(流使用会占用必定的内存,使用完毕要把内存清空,提升程序的效率) 9 fos.close(); 10 } 11 }
文件存储的原理和记事本打开文件的原理