java I/O Note

Java file

1.编码:

GBK

UTF-8

UTF-16

2. file类

    1).java.io.file类表示文件(目录)

    2).只用于表示文件/目录的信息(大小,名称),不能访问文件。

3. RandomAccessFile ———访问文件

4.字节流 

IO流——字节流,字符流

    1).  抽象类InputStream,OutputStream

    2). EOF = End (读到-1)

    3). 输入流

        int b = in.read();

        in.read(byte[] buf);

        in.read(byte[] buf, int strat, int size)

    4). 输出流

        out.write(int b);

        out.write(byte[] buf);

        out.write(byte[] buf, int strat, int size);

    5).  子类FileInputStream

    6).  子类FileOutputStream

    7). DataInputStream / DataOutputStream

        对“流”功能的扩展,操作类型数据 

            DataOutputStream

                writeInt(), writeDouble(), WriteUTF() 

    8). BufferedInputStream / BufferedOutputStream

        提供缓冲区,提高IO性能

5. 字符流

    1). 编码

    2). 文本与文件

        文本(char),16位无符号整数,Unicode编码(双字节编码)

        文件,byte byte …… 的数据序列

        文本文件:文本(char)序列按照某种编码方式(UTF-8,gbk)序列化为byte的存储结果

    3). 字符流抽象类:Reader, Writer  ——操作的是文本文件

        字符处理,一次处理一个字符;字符底层是字节序列

        字符流的基本实现:

        InputStreamReader:byte流 ——> char流 ,按编码解析

        OutputStreamWriter: char流 ——> byte流,按编码处理

 

        文件读写流:FileReader, FileWriter  ——对文件直接进行字符流的读写

  4). 字符流的过滤器

         BufferedReader         ------------>   readline

         BufferedWriter/PrintWriter           ------------>   write line

6. 对象的序列化、反序列化

 1). 对象序列化:将Object对象转化为Byte序列

 2).序列化流(ObjectOutputStream),过滤流-----------writeObject

      反序列化流(ObjectInputStream)--------------readObject

 3).序列化接口Serializable:对象必须实现序列化接口,才能进行序列化

 4). transient关键字:

 5).子类和父类中序列化函数的调用   

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值