JavaIO 总结笔记<一> 概述

来源:互联网 发布:头发怎么保养 知乎 编辑:程序博客网 时间:2024/06/17 17:09

个人博客、个人简书、gitHub主页

IO流的命名:

FileInputStreamFileOutputStreamBufferedInputStreamBufferedOutputStreamFileReaderFileWriterBufferedReaderBufferWriterInputStreamReaderOutputStreamWriter

结构图

结构图总结

一、File

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

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

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

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

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

1.字节流

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

2.字符流

FileReaderFileWriterread()  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.缓冲流

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

BufferedInputStreamBufferedOutputStreamBufferedReader    readLine()BufferWriter    newLine()

2.转换流

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

InputStreamReaderOutputStreamWriter

五、打印流、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的时候指定编码重新组合

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

项目地址:传送门

原创粉丝点击