JavaIO 总结笔记<一> 概述

个人博客、个人、gitHub主页

IO流的命名:

FileInputStream
FileOutputStream
BufferedInputStream
BufferedOutputStream

FileReader
FileWriter
BufferedReader
BufferWriter

InputStreamReader
OutputStreamWriter
JavaIO 总结笔记<一> 概述_第1张图片
结构图
JavaIO 总结笔记<一> 概述_第2张图片
结构图总结

一、File

详细描述:JavaIO 总结笔记<一> IO简介和File文件

1.该类既可以封装单个文件,也可以封装一个目录

2.exists isFile isDirectory getName getPath length list listFiles
createNewFile mkdir mkdirs delete renameTo

二、基本字节流和基本字符流

详细描述:JavaIO 总结笔记<二> 本字节流和基本字符流和文件复制

1.字节流

FileInputStream

FileOutputStream

read()   read(byte[] b) write(int c)   write(byte[] b)   write(byte[] b,int off,int length)

2.字符流

FileReader

FileWriter

read()  read(char[] c)  write(int c)  write(char[] c)  write(char[] b,int off,int length)  write(String s)

3.复制

1.架两个管道

2.来辆车

while(true)
{
    int res=输入流对象.read(车);
    if(res==-1)
        break;
    else
        输出流对象.write(车);
}

三、缓冲流和转换流

详细描述:JavaIO 总结笔记<三> 缓冲流和转换流

1.缓冲流

实际开发时如果遇到较大的文件,例如视频,就需要用到缓冲流来提高效率

BufferedInputStream

BufferedOutputStream

BufferedReader    readLine()

BufferWriter    newLine()

2.转换流

当文件的编码跟系统默认编码不一致时,容易出现中文乱码问题,这时候就需要用到转换流

InputStreamReader

OutputStreamWriter

五、打印流、Properties类、对象流、序列化

详细描述:JavaIO 总结笔记<四> 打印流、Properties类、对象流、序列化

1.打印流

  • 打印流是输出流,PrintStream和PrintWriter

  • 可以更方便的输出各种类型的数据

  • print(Xxx x) println(Xxx x)

2.Properties类

  • 什么是属性配置文件

  • Properties类存储数据时跟Map是一样的,但是可以结合IO流实现对属性配置文件的读写

  • put setProperties get getProterties list(输出流对象) store(输出流对象,注释) load(输入流对象)

3.对象流

  • 使用其他流写对象时,只能写toString的返回值

  • 对象流可以直接写对象(序列化),还可以反序列化(组装成对象)

  • ObjectOutputStream(writeObject) ObjectInputStream(readObject)

六、装饰设计模式

1.现有一个类,功能较弱,在不改变源码的前提下,进行功能加强

2.继承 臃肿

3.吃饭的案例

七、字符串编码

统一先打回原形(byte[]),然后new String的时候指定编码重新组合

八、序列化与反序列化的理解

项目地址:传送门

你可能感兴趣的:(JavaIO 总结笔记<一> 概述)