2011-9-2
FileFileter和FilenameFilter接口:
*FileFiler接口:用于抽象路径名的过滤器。此接口的实例可以传递给File类的listFiles(FileFilter)方法。
*成员方法:boolean accept(File pathname)
测试指定抽象路径名是否应该包含在某个路径名类表中
*FilenameFilter接口:实现此接口的类实力可用于过滤器文件名。Abstract Window TooLkit的文件对话框组件使用这些实例过滤File类的list方法中的目录清单。
*成员方法:boolean accpt(File dir,String name)
测试指定文件是否应该包含在某一文件列表中。
*RandomAccessFile类可以对文件进行随即读写操作
*构造方法——想只能对文件进行操作
RandomAccessFile(File file,String mode);
RandomAccessFile(String name,String mode);
例:File file=new File(“d:\\mydata\\a.txt”);
Random AccessFile rf=new RandomAccessFile(file,“rw”);
.Properties 用于存储“键-值”对数据
(1)该集合类型中定义了load()、store()以及save()方法等,可以将文件中的键值对信息装载到集合对象中,或将集合对象中的键值对信息存入文件
(2)存入键值对:setProperty(String key,String value);
获取键对应的值:String getProperty(String key);
String getProperty(String key,String defaultValue);
获取集合中所有键:Enumeration propertyNames();
列出该集合中的所有键值对,可以通过参数--打印流指定列出到的目的地:void list(PrintStream); void list(PrintWriter
void load(InputStream); 将流中的规则数据加载进行集合
可以将集合中的数据进行指定目的的存储:
void store(OutputStram,String comment);
1. 打印流
(1)PrintStream 可以方便地输出各种类型的数据的格式化表示形式
(2)构造方法:PrintStream可以作为节点流使用而直接关联到文件数据源,也可以作为处理流关联到其他的字节输出流并向其输出数据提供增强的功能。
PrintStream(File file)
PrintStream(String fileName)
PrintStream(OutputStream out)
PrintStream(OutputStream out, boolean autoFlush)
(3) PrintWriter:和PrintStream相似,区别在于:作为处理流使用时,PrintStream只能封装OutputStream类型的字节输出流,而PrintWriter既可封装OutputStream,还能够封装Writer类型字符输出流并增强其功能。
(4) DataOutputStream:能够直接将Java基本类型数据写出其他的字节输出流,随后可以使用DataInputStream输入流读取这些数据
构造方法 public DataOutputStream(OutputStream);
(5) 对象的序列化
a序列化的本意是把并行数据转换成串行数据的处理过程
b对象序列化是指将对象的状态数据以字节流的形式进行处理
c对象的序列化可以理解为使用I/O“对象流”类型实现的对象读/写操作。---ObjectInputStream以及ObjectOutputStream
(6) 反序列化
a ObjectInputStream对象的readObject()
b注意:
(a) 并不是任何引用类型的对象都可以被序列化,只有实现了java.io.Serializable接口的类的对象才可以
(b) 类中的静态成员不会被序列化。
(c) 对应非静态的成员如果也不想被序列化,可以通过transient关键字修饰