1.Properties类-持久的属性集,可保存在流中或从流中加载,属性列表中每个键及其对应值都是一个字符串

  1.1 特点

  (1)Hashtable的子类,map集合中的方法都可以用  

  (2)该集合没有泛型,键值都是字符串

  (3)是一个可以持久化等呃属性集。键值可以存储到集合中,也可以存储到持久化的设备,键值的来源也可以是持久化的设备  

  (4)有和流技术相结合的方法

    void load(InputStream inStream)  把指定流所对应的文件中的数据,读取出来,保存到Properties集合中

    void load(Reader reader)  

    void store(OutputStream out,String comments)  把集合中的数据,保存到指定的流所对应的文件中,参数commonts代表对描述信息

    void store(Writer writer,String comments)  

2.序列化流与反序列化流

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

  (1)构造方法

    ObjectOutputStream(OutputStream out)-创建写入指定OutputStream的ObjectOutputStream  

  (2)方法

    void  writeObject(Object)-将指定的对象写入ObjectOutputStream

  2.2 对象反序列化流ObjectInputStream-ObjectInputStream对以前使用ObjectOutputStream写入的基本数据和对象进行反序列化,支持java.io.Serializable接口的对象才能从流读取

  (1)构造方法

    ObjectInputStream(InputStream in)-创建从指定InputStream读取的ObjectInputStream

  (2)方法

    void  readObject()-从ObjectInputStream读取对象

  2.3 序列化接口-当一个对象要能被序列化,这个对象所属的类必须实现Serializable接口。

  (1)若不识闲Serializable接,会发生异常NotSerializableException异常

  (2)当反序列化对象时,如果对象所属的class文件在序列化之后进行的修改,那么进行反序列化也会发生异常InvalidClassException。发生这个异常的原因如下:

    | 该类的序列版本号与从流中读取的类描述符的版本号不匹配

    l  该类包含未知数据类型

    l 该类没有可访问的无参数构造方法

  (3)Serializable标记接口。该接口给需要序列化的类,提供了一个序列版本号。serialVersionUID. 该版本号的目的在于验证序列化的对象和对应类是否版本匹配。

  2.4 瞬态关键字transient-当一个类的对象需要被序列化时,某些属性不需要被序列化,则可以用transient修饰

  (1)静态修饰也不会被序列化,因为序列化是把对象数据进行持久化存储,而静态的属于类加载时的数据,不会被序列化

3. 打印流-添加输出数据的功能,使它们能够方便地打印各种数据值表示形式

  3.1 分类

  (1)字节打印流 PrintStream

  (2)字符打印流 PrintWriter

  3.2 方法

  void print(String str): 输出任意类型的数据,

  void println(String str): 输出任意类型的数据,自动写入换行操作

  3.3 打印流完成数据自动刷新-可以通过构造方法,完成文件数据的自动刷新功能

  public PrintWriter(OutputStream out, boolean autoFlush)

  public PrintWriter(Writer out, boolean autoFlush)

4. commons-IO

  4.1 导入classpath-加入classpath的第三方jar包内的class文件才能在项目中使用

  4.2 FilenamUtils-这个工具类用来处理文件名

  getExtension(String path):获取文件的扩展名;

  getName():获取文件名;

  isExtension(String fileName,String ext):判断fileName是否是ext后缀名;

  4.3 FileUtils-提供文件操作(移动文件,读取文件,检查文件是否存在等)的方法

  readFileToString(File file):读取文件内容,并返回一个String;

  writeStringToFile(File file,String content):将内容content写入到file中;

  copyDirectoryToDirectory(File srcDir,File destDir);文件夹复制

  copyFile(File srcFile,File destFile);文件夹复制

最新文章

  1. 使用MATLAB对图像处理的几种方法(下)
  2. 存储过程执行失败与sql668n
  3. Android listview 制作表格样式+由下往上动画弹出效果实现
  4. CodeForces 560B Gerald is into Art
  5. 【Android】数据的应用-使用sharedpreferences存储数据
  6. eclipse Maven构建的project无法公布lib到tomcat的解决方法
  7. MyEclipse和Eclipse非常方便的快捷键
  8. 从Windows角度看Mac OS X上的软件开发
  9. 好程序员web前端分享javascript关联数组用法总结
  10. C# 比较多个数组(lambda,匿名比较器)
  11. ubuntu 16.04 搭建tigervnc
  12. Fiddler抓包【3】_设置断点修改
  13. python基础学习(七)列表
  14. float数组转字符串实施方案小记
  15. 面向对象【day08】:动态导入模块(八)
  16. alibaba的FastJson(高性能JSON开发包) json转换
  17. Fiddler的学习之路
  18. android应用开发-从设计到实现 3-3 Sketch静态原型设计
  19. MsSQL使用加密连接SSL/TLS
  20. linux driver ------ 交叉工具链(cross toolchain)

热门文章

  1. liunx系统下调整Swap分区大小
  2. 【easy】110. Balanced Binary Tree判断二叉树是否平衡
  3. Python爬虫实战一之爬取QQ音乐
  4. 【原创】大叔经验分享(23)spark sql插入表时的文件个数研究
  5. echarts将图表Y坐标刻度设置成只显示整数
  6. 数位dp-入门模板题 hdu2089
  7. echart 标题配置
  8. Winform Focus()函数不起作用 解决办法
  9. [转] 扩展微信小程序框架功能
  10. JSONP ---------跨域