缓冲流
BufferedWriter
特有方法 newLine() 换行符
该方法具有平台(操作系统)无关性
FileWriter fw=new FileWriter("");
BufferedWriter bw=new BufferedWriter(fw);
bw.write("hahah");
bw.newLine();
bw.flush();
bw.close();
BufferedReader
特有读取方法 readLine() 一行一行读
FileReader fr=new FileReader("");
BufferedReader br=new BufferedReader(fr);
String string="";
while ((string=br.readLine())!=null) {
System.out.println(string);
Properties(双列集合)继承Hashtable
集合中唯一能和io流产生关系的集合
Properties properties=new Properties();
properties.setProperty("hah", "uu");
Set<Object> keySet = properties.keySet();
for (Object key : keySet) {
String k=(String)key;
System.out.println(k+"="+properties.getProperty(k));
}
写:
参数2添加注释(一般不写)
Properties properties=new Properties();
FileOutputStream fos=new FileOutputStream("");
properties.store(fos, "");
fos.close();
读:
Properties properties=new Properties();
FileInputStream fis=new FileInputStream("");
properties.load(fis);
fis.close();
序列化和反序列化
如果这个类向进行序列化 必须要实现该接口
序列化接口 Serializable
如果成员变量是静态 该成员变量 不能进行序列化
序列化值得是对象序列化 静态变量属于类
成员变量不写成静态 也不想序列化 怎么办?
使用关键词 transient 阻止成员变量序列化
FileOutputStream fos=new FileOutputStream("/Users/lanou/Desktop/aa/ff.txt");
ObjectOutputStream oos=new ObjectOutputStream(fos);
oos.writeObject(new Person("asd", 15));
oos.close();
FileInputStream fis=new FileInputStream("/Users/lanou/Desktop/aa/ff.txt");
ObjectInputStream ois=new ObjectInputStream(fis);
Object object = ois.readObject();
System.out.println(object);
ois.close();