JAVA基础_IO_04

IO

代码资源:io_输入输出流_序列化反序列化_04.zip
JAVA基础_IO_04

1. file

1.1. 创建

    1. createNewFile
    1. mkdir/mkdirs

1.2. 属性

    1. length
    1. getName
    1. getAbsolutePath
    1. listFiles
    1. isFile/isDirectory

1.3. 操作

    1. renameTo
    1. FileFilter
    1. delete
    1. walk

2. IOStream

2.1. 概述

2.2. 分类

  • 2.2.1. 流的方向

    • 输入流
    • 输出流
  • 2.2.2. 数据类型

      1. 字节流
      • 字节输出流OutputStream

        • FileOutputStream

          • strFilePath, append = false/true
          • write(byte/bytes)
      • 字节输入流InputStream

        • FileInputStream

          • strFilePath

          • read(byte/bytes)

            • readNum = > 0 / -1
      1. 字节流问题
      • 一个中文字符3个字节

      • 字符集

        • UTF-8
        • Unicode
      • IDEA字符集设置

      • 字节流装饰(设计模式)成字符流

      1. 字符流
      • 字符输出流Writer

        • FileWriter

          • strFilePath, append = false/true
          • write
          • Writer.append链式写入
      • 字符输入流Reader

        • FileReader

          • strFilePath

          • read(char/chars)

            • readNum = >0 / -1

2.3. 使用

  • 2.3.1. flush

    • FileOutputStream/FileWriter
  • 2.3.2. 字节流装饰为字符流

      1. InputStreamReader(FileInputStream, “UTF-8”)
      1. OutputStreamWriter(FileOutputStream, “UTF-8”)
  • 2.3.3. 打印流

      1. System.out
      1. PrintStream(strFilePath)
      • print/println(str)
      • write(byte/int/str)
      • 不需要flush
      1. PrintWriter(strFilePath)
      • print/println(str)
      • write(byte/int/str)
      • 需要flush
  • 2.3.4. 缓存读取

      1. BufferedReader(FileReader)
      1. readLine
  • 2.3.5. BugReport

      1. PrintWriter(strFilePath)
      1. e.printStackTrace(PrintWriter)
      1. flush
  • 2.3.6. Properties

      1. put
      1. FileWriter(strFilePath)
      1. store(FileWriter, strComment)
      1. close
  • 2.3.7. try-with-resources

      1. normalTryReader
      1. JDK1_7
      1. JDK1_9
      1. CloseableDemo

3. 序列化/反序列化

3.1. Serializable

    1. 概念
    1. ObjectOutputStream(FileOutputStream(strFilePath))
    • write/writeObject
    • close
    1. ObjectInputStream(FileInputStream(strFilePath))
    • read/readObject
    • Object cast to

3.2. 部分序列化实现方法

    1. transient修饰
    1. static修饰
    1. Serializable
    • private void writeObject(java.io.ObjectOutputStream out)
    • private void readObject(java.io.ObjectInputStream in)
    1. Externalizable
    • public void writeExternal(ObjectOutput out) throws IOException {
    • public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {

4. IO的快递E栈

1. 快递Express类需要实现Serializable接口,存储的是ArrayList

2. 所有dao的更新/删除/增加操作都直接存储ArrayList

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值