文章标题

一、Properties类

1.特点

1)HashTable子类,map中的方法均可以使用
2)没有泛型,键值都是字符串类型的
3)可以持久化的属性集
4)可以和流结合使用

2.方法

.setProperty(String Key,String Value)相当于Map的put()方法
.stringPropertyNames(String s)相当于Map的keySet()方法

3.Load方法:传递字节或字符输入流,读取键值对,保存到集合中

Load(InputStream in)
Load(Reader r)

              //初始化Properties  
Properties pro=new Properties();  
//定义字符输入流  
FileInputStream fis=new FileInputStream("E:\\a\\config.properties");  
//从输入流中读取属性列表  
pro.load(fis);  
//打印显示  
System.out.println(pro);  

4.Store方法:接收字节或字符输出流,将键值对写入文件中

Store(OutputStream out)
Store(Writer w)

              //定义字节输入流  
FileOutputStream fos=new FileOutputStream("E:\\a\\config.properties");  
//将键值为score的值改变为100  
pro.setProperty("score", "100");  
//将键值对写入输出流中  
pro.store(fos, null);  

二、序列化和反序列化

特点:主要用于类的实例化对象的存储,其他都和字节字符输入输出流一致。

序列化(ObjectOutputStream ):将Java对象的基本数据类型和图形写入 OutputStream。可以使用InputStream读取对象,通过在流中使用文件实现对象的存储。

      //序列化:内存-->硬盘  
public static void put() throws IOException{  
FileOutputStream fos=new FileOutputStream("E:\\a\\ab.txt");  
ObjectOutputStream oos=new ObjectOutputStream(fos);  
//把类文件写到硬盘中  
oos.writeObject(new Person("张",10));  
oos.close();  

反序列化(ObjectInputStream):对以前使用InputStream 写入的基本数据和对象进行反序列化。支持Serializable接口的对象才能从流读取。



      //反序列化:硬盘-->内存  
public static void in()throws IOException, ClassNotFoundException{  
FileInputStream fis=new FileInputStream("E:\\a\\ab.txt");  
ObjectInputStream ois=new ObjectInputStream(fis);  
//独处硬盘中的内容,用Person接受  
Person obj = (Person)ois.readObject();    
System.out.println(obj.toString());  

三、打印流

字节打印流(PrintStream)
字符打印流(PrintWriter)

              //定义字符输出流  
PrintWriter pw = new PrintWriter("E:\\a\\output.txt");  
//2,写数据   
pw.println("你好");  
//3,关闭流  
pw.close();  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值