zoukankan      html  css  js  c++  java
  • Java:I/O流相关

    基本数据流

    DataInputStream / DataOutPutStream
    操作基本数据类型的流,可以读写各种基本数据


    内存操作流

    对内存中的变量进行 I / O 操作 有C语言sprintf函数的影子
    又像集合中的toArray填充一个数组
    可以把流中的东西写到变量中去

    • 操作字节数组
      • ByteArrayInputStream
      • ByteArrayOutputStream
    • 操作字符数组
      • CharArrayReader
      • CharArrayWriter
    • 操作字符串
      • StringReader
      • StringWriter
        关闭ByteArrayInputStream没有任何效果; 在关闭流之后,可以调用此类中的方法,而不生成IOException

    打印流
    • 字节打印流 PrintStream
    • 字符打印流 PrintWriter
      向文本输出流打印对象的格式化表示形式
      可输出各种类型的数据
      基于别的流构造该类的对象时,可选第二个参数为true开启自动刷新
      自动刷新在调用println,printf,及format方法时,自动flush
      该类流可以在文件上进行操作

    标准输入输出流

    System中的两个静态常量inout分别代表系统标准的输入输出设备,默认输入设备是键盘,默认输出设备为显示器
    System.in的类型是InputStream,System.out的类型为PrintStream


    随机访问流

    严格来说RandomAcessFile并不是一种Stream,因为它直接继承于Object
    但是它实现了InputStream与OutputStream的功能,支持对随机访问文件的读取和写入
    使用getFilePointer方法得到目前文件指针的位置,使用seek方法改变文件指针的位置


    序列化流

    ObjectOutputStream 序列化流 将对象序列化后写入文件
    ObjectInputStream 反序列化流 将序列化的数据转换为对象

    序列化

    • 以某种存储形式使自定义对象持久化
    • 可以使对象在不同环境中传递
    • 实现了标记接口Serializable 的类可以序列化
      //反序列化的错误问题
      序列化会记录对象的类的UID,而Java文件每次修改会使UID变化,本地类的UID与序列化数据中的UID不同产生异常,因此在该类中定义出UID静态常量即可
      使用transient关键字修饰的成员变量会防止被序列化

    集合Properties (属性)

    Properties是Hashtable的子类,所以具有Map的性质

    • Properties特有的方法

      • public Object setProperty(String key,String value)//规定了键和值都为String的Map的put方法
      • public String getProperty(String key)//使用此属性列表中指定的键搜索属性
      • public Set < String > stringPropertyNames()//返回键与值均为String类型的键
    • Properties与 I / O 流的结合使用

      • public void load(Reader reader)//把流(文件)中的键值对数据放到集合中
      • public void store(Writer writer , String comments) //把集合中的数据放到流(文件)中

    2018/8/6

  • 相关阅读:
    hdu 2019 数列有序!
    hdu 2023 求平均成绩
    HDU 5805 NanoApe Loves Sequence (思维题) BestCoder Round #86 1002
    51nod 1264 线段相交
    Gym 100801A Alex Origami Squares (求正方形边长)
    HDU 5512 Pagodas (gcd)
    HDU 5510 Bazinga (字符串匹配)
    UVALive 7269 Snake Carpet (构造)
    UVALive 7270 Osu! Master (阅读理解题)
    UVALive 7267 Mysterious Antiques in Sackler Museum (判断长方形)
  • 原文地址:https://www.cnblogs.com/kafm/p/12721848.html
Copyright © 2011-2022 走看看