IO流框架总结

普通IO / NIO

字节流

字节流是万能流,但是在处理字符方面有时候不太方便,一般用来处理二进制文件

字节输入流

InputStream

  • int available() 返回流中可用的字节数
  • void close()
  • abstract int read() 读取一个字节
  • int read(byte[] b) 读取一个字节数组
  • int read(byte[] b, int off, int len) 读取字节数组的一部分
  • long skip(long n) 跳过多n个字节读取

FileInputStream

  • FileInputStream(File file)

    • 通过打开一个到实际文件的连接来创建一个 FileInputStream,该文件通过文件系统中的 File 对象 file 指定。
  • FileInputStream(FileDescriptor fdObj)
    • 通过使用文件描述符 fdObj 创建一个 FileInputStream,该文件描述符表示到文件系统中某个实际文件的现有连接。
  • FileInputStream(String name)
    • 通过打开一个到实际文件的连接来创建一个 FileInputStream,该文件通过文件系统中的路径名 name 指定。

BufferedInputStream

能够提高读写效率

字节输出流

OutputStream

  • void close() 关闭此输出流并释放与此流有关的所有系统资源。
  • void flush() 将数据从内存中刷新到文件系统中
  • void write(byte[] b) 写一个字节数组
  • void write(byte[] b, int off, int len) 写一个字节数组的一部分
  • abstract void write(int b) 写一个字节

FileOutputStream

  • FileOutputStream(File file)
    创建一个向指定 File 对象表示的文件中写入数据的文件输出流。
  • FileOutputStream(File file, boolean append)
    创建一个向指定 File 对象表示的文件中写入数据的文件输出流。
  • FileOutputStream(FileDescriptor fdObj)
    创建一个向指定文件描述符处写入数据的输出文件流,该文件描述符表示一个到文件系统中的某个实际文件的现有连接。
  • FileOutputStream(String name)
    创建一个向具有指定名称的文件中写入数据的输出文件流。
  • FileOutputStream(String name, boolean append)
    创建一个向具有指定 name 的文件中写入数据的输出文件流。

BufferedOutputStream

能够提高读写效率

字符流

字符输入流

Reader

  • 转换流: InputStreamReader
    1.处理编码
    2.将字节流转化成字符流
  • FileReaderInputStreamReader子类
  • 高效缓冲字符输入流 BufferedReader
    • readLine() 读取一行
字符输出流

Writer

  • 转换流: OutputStreamWriter
    1.处理编码
    2.将字节流转化成字符流
  • FileWriterOutputStreamWriter子类
  • 高效缓冲字符输出流 BufferedWriter
    • newLine() 写一个换行符

以上
@Fzxey

最新文章

  1. 机器学习——AdaBoost元算法
  2. CentOS7 屏幕亮度的命令行管理
  3. C#_MVC3之使用Authorize简单的验证登录(一)
  4. IT传道解惑:心累了就读读
  5. 如何查看npm配置?
  6. VB.NET版机房收费系统---导出Excel表格
  7. 2-用EasyNetQ连接RabbitMQ(黄亮翻译)
  8. java中创建多线程两种方式以及实现接口的优点
  9. 关于javascript removeChild的那些事
  10. hadoop入门级总结二:Map/Reduce
  11. (C++)string类杂记
  12. Ganglia 调试技巧
  13. VS资源收藏<持续更新中>
  14. Android 可展开列表组件 ExpandableListView
  15. JavaSE考试前练习
  16. Bow & Arrow 学习
  17. nmon使用
  18. git statsh命令报错解决
  19. abap开发中update module 的创建和使用
  20. 迷你MVVM框架 avalonjs 学习教程18、一步步做一个todoMVC

热门文章

  1. PAT Basic 1023 组个最⼩数 (20) [贪⼼算法]
  2. Python中的encode和decode
  3. 实践一次有趣的sql优化
  4. ant design vue 时间选择器只能到最大日期
  5. 蓝桥杯 传球游戏(dp)
  6. 获取deeplearning电子书
  7. ASP.NET core MVC动作过滤器执行顺序
  8. ZZJ_淘淘商城项目:day01(RESTful Web Service、SVN)
  9. 第一章:ESXi6.7虚拟化环境安装
  10. GIL全局解释器锁-死锁与递归锁-信号量-event事件