Java IO学习笔记总结

前言

前面的八篇文章详细的讲述了Java IO的操作方法,文章列表如下

  • 基本的文件操作

  • 字符流和字节流的操作

  • InputStreamReader和OutputStreamWriter操作

  • 内存操作流

  • 管道流

  • 打印流

  • System对IO的支持

  • BufferedReader和BufferedWriter

后续

字节流

字节流的操作都是基于InputStreamOutputStream这两个抽象类

InputStream

InputStream字节输入流,主要的功能是从文件中读取数据,它的子类有内存操作流 ByteArrayInputStream,管道输入流PipedInputStream,和FileInputStream

OutPutStream

OutputStream是字节输出流,主要功能是向文件中写入数据,它的常用的子类有ByteArrayOutputStream, FileOutputStream, PipedOutputStream,PrintStream

字符流

字符流的操作都是基于家WriterReader这两个抽象类的,一个是输出流,一个是输入流

Writer

写入字符流的操作类,常用的子类有PrintWriter,BufferedWriter,OutputStreamWriter(字节流和字符流之间的桥梁)

Reader

用于读取字符流的抽象类,常用的子类有BufferedReaderInputStreamReader

最好用的

  • 其中最高效的输入和输出当然是字符流操作的BufferedReaderBufferedWriter

  • 最便捷的,格式化最好的当然是PrintStream,PrintWriter这两个类都采用了格式化的输入和输出

输出流最好用的

  • 输出流中比较好用的是PrintStream,PrintWriter

  • 输出流最好用的当然是BufferedWriterPrintWriter的结合,例子如下;

File file=new File("/tmp"+File.separator+"test"+File.separator+"test.txt");
//用BufferedWriter实例化PrintWriter,显著提高写入的效率
PrintWriter printWriter=new PrintWriter(new BufferedWriter(new FileWriter(file)));
String name="陈加兵";
int age=22;
float grade=99.9f;
printWriter.printf("姓名:%s,年龄:%s,grade:%s",name,age,grade);  //格式化的写入
printWriter.close();

输入流最好用的

  • 本人觉得输入流中BufferedReader功能已经很强大了

Java IO学习笔记总结相关推荐

  1. Java IO学习笔记(四)打印流

    1.只有输出流才有打印流:PrintWriter和PrintStream分别针对字符和字节,提供了重载的print,Println方法用于多种数据类型的输出.PrintWriter和PrintStre ...

  2. Java IO ---学习笔记(数据流)

    数据流: 接口 DataInput 和 DataOutput,设计了一种较为高级的数据输入输出方式:除了可处理字节和字节数组外,还可以处理 int.float.boolean等基本数据类型,这些数据在 ...

  3. Java IO学习笔记四

    内存操作流 之前的所有的流操作都是针对文件的,但是有时候只是想要实现数据间转换,此时如果我们想要创建一个文件然后再删除文件,那样显得有点麻烦,因此此时的内存操作流就显得很适合这类的操作,因为它只是在内 ...

  4. Java NIO 学习笔记(三)----Selector

    目录: Java NIO 学习笔记(一)----概述,Channel/Buffer Java NIO 学习笔记(二)----聚集和分散,通道到通道 Java NIO 学习笔记(三)----Select ...

  5. java多线程学习笔记。

    java多线程学习笔记 线程的优缺点: 多线程的好处: 充分利用多处理核心,提高资源的利用率和吞吐量. 提高接口的响应效率,异步系统工作. 线程的风险: 安全危险(竞争条件):什么坏事都没有发生.在没 ...

  6. 尚学堂JAVA基础学习笔记_2/2

    尚学堂JAVA基础学习笔记_2/2 文章目录 尚学堂JAVA基础学习笔记_2/2 写在前面 第10章 IO技术 1. IO入门 2. IO的API 3. 装饰流 4. IO实战 5. CommonsI ...

  7. JAVA视频学习笔记-马士兵(六)

    `JAVA视频学习笔记-马士兵` 常用类_字符串相关类(20200614~16) 常用类_字符串相关类(20200617) 常用类_基本数据类型包装类(20200618) 常用类_Math类(2020 ...

  8. 尚学堂JAVA高级学习笔记_1/2

    尚学堂JAVA高级学习笔记 文章目录 尚学堂JAVA高级学习笔记 写在前面 第1章 手写webserver 1. 灵魂反射 2. 高效解析xml 3. 解析webxml 4. 反射webxml 5. ...

  9. Java NIO 学习笔记(五)----路径、文件和管道 Path/Files/Pipe

    目录: Java NIO 学习笔记(一)----概述,Channel/Buffer Java NIO 学习笔记(二)----聚集和分散,通道到通道 Java NIO 学习笔记(三)----Select ...

最新文章

  1. 点云标注工具:1.PCAT
  2. bit,Byte、KB、MB、GB、TB、PB、EB之间的关系
  3. C++学习笔记(八)——内联函数
  4. java中的Volatile关键字使用
  5. 【转】分布式websocket服务器
  6. 为自己的p2psearcher理想而努力地奋斗
  7. OpenShift Security (7) - 风险合规评估
  8. mySQL 分组查询,根据分组的字段,取最小值
  9. windows鼠标响应相关知识
  10. Lazarus Coolbar and AnchroDocking
  11. 互换性与技术测量教材pdf_《互换性与技术测量》赵燕【pdf】
  12. 家长进课堂 计算机ppt,【家长进朴园】探秘计算机—5.7中队家长进课堂活动
  13. glsurfaceview 和 open gl
  14. Error in library(patRoon) : 不存在叫‘patRoon‘这个名字的程辑包
  15. 【loj2567】【APIO2016】划艇
  16. Cocos2d+protobuf仿JJ斗地主源码,win32和Android编译通过
  17. org.hibernate.MappingException: Unknown entity常见问题(新手需注意)
  18. 用MATLAB编写限幅滤波程序,双二阶滤波器之MATLAB设计及C语言实现
  19. Skip List(跳表)
  20. Qcon演讲实录 | XQUIC与多路径传输技术Multipath QUIC

热门文章

  1. shell自动化处理_相关知识整理(整理中)20210329
  2. 解决pycharm在ubuntu下搜狗输入法一直固定在左下角的问题
  3. MyBatis的一级缓存、二级缓存演示以及讲解,序列化异常的处理
  4. layer弹窗弹出位置不在浏览器窗口居中的问题的解决方法
  5. WebSocket 解决javascript跨域问题一剂良药
  6. 卸载软件后,win10应用与功能中仍有残留,解决方案。
  7. mac下解决中文乱码的问题
  8. 使用类名称创建实例并调用构造函数
  9. 在C#中将字符串转换为字节数组
  10. 获取(可能)关联数组中的第一个键?