Java读书笔记(2)-输入输出

2015-12-31

.输入/输出

  1. File

    1. 访问文件和目录(文件名/文件检测/文件信息/文件操作/目录操作)

    2. 文件过滤器(FilenameFilter Command设计模式)

  2. 理解JavaIO

    1. 流的分类

      1. 输入流和输出流(几个基类:InputStream Reader OutputStream Writer)

      2. 字节流和字符流(8位字节,16位字符)

      3. 节点流和处理流(包装流 高级流 装饰器设计模式)

    2. 流的概念模型

  3. 字节流和字符流

    1. InputStreamReader(抽象基类 节点流:FileInputStream FileReader)

    2. OutputStream Writer(节点流:FileOutputStream FileWriter)

  4. 输入/输出体系

    1. 处理流的用法(识别处理流 优点:1.简单2.执行效率更高 PrintStream)

    2. 输入/输出流体系(文件,数组,管道,字符串,缓冲流,转换流,对象流,打印流,推回输入流,特殊流)

    3. 转换流(InputStreamReader将字节输入流转换成字符输入流,OutputStreamWriter将字节输出流转换成字符输出流)

    4. 推回输入流(PushbackInputStream PushbackReader)

    5. 重定向标准输入/输出

    6. Java虚拟机读写其他进程的数据(Process p=Runtime.getRuntime().exec(“javac”))

    7. RandomAccessFile(自由定位文件记录指针 插入 覆盖 多线程断点下载)

    8. 对象序列化

      1. 序列化的含义和意义(Java对象->平台无关二进制流)

      2. 使用对象流实现序列化(writeObject readObject)

      3. 对象引用的序列化(可序列化 序列化编号)

      4. 自定义序列化(transient关键字,writeReplace,readResolve)

      5. 另一种自定义序列化机制(Externalizable 强制自定义序列化)

      6. 版本(private static final long serialVersionUID=512L)

    9. NIO

      1. JavaIO概述(JDK1.4开始,内存映射,Channel,Buffer)

      2. 使用Buffer(数组,allocate(int capacity),capacity,limit,position,flip()clear(),allocateDirect())

      3. 使用Channel(Channel只能与Buffer进行交互,map(),read(),write(),通过Stream来获取Channel)

      4. 字符集和Charset(Charset csCn=CharSet.forName(“GBK”))

        1. CharBuffer decode(ByteBuffer bb)

        2. ByteBuffer encode(CharBuffer cb)

        3. ByteBuffer encode(String str)

      5. 文件锁

        1. 文件锁控制文件的全部或者部分字节的访问

        2. 避免对同一个被锁定的文件打开多个FileChannel

    10. Java7NIO.2

      1. Path,PathsFiles核心API

        1. Path:平台无关的平台路径

        2. FilesPaths工具类

      2. 使用FileVisitor遍历文件和目录

        1. walkFileTree

        2. postVisitDirectory

        3. preVisitDirectory

        4. visitFile

      3. 使用WatchService监控文件变化

      4. 访问文件属性

原文地址:https://www.cnblogs.com/hust_wsh/p/5093226.html