I/O的类结构图

I/O的分类

根据处理的数据类型分为:字节流和字符流。

根据数据流向分为:输入流和输出流。

流又可分为节点流和处理流。

节点流

直接与数据源相连

处理流

与节点流一起使用,在节点流的基础上,再嵌套一层。提高文件的读取效率。

输入流

InputStream

作用是以字节的形式读取数据源产生的数据。

Reader

作用是以字符的形式读取数据源产生的数据。

输出流

OutputStream

作用是以字节的形式在接收端写数据。

Writer

作用是以字符的形式在接收端写数据。

常用的流

缓冲流

作用:缓冲流提供缓冲区,先把数据写入缓冲区,当缓冲区写满之后,再把缓冲区的内容写到文件中去。这样会提高读取效率。

对象流

作用:用于写入/读取对象的信息,使对象持久化。

使用的注意事项:

1.如果想将一个对象写入到磁盘中,那么对象所属的类必须要进行序列化,实现Serializable 接口,Serializable接口没有任何方法 ,是一个标记接口

2.如果对象所属的类的成员变量发生改变,你在读取原来的对象是就会报错,如果想要解决报错,保证serialVersionUID是唯一。

3.如果你不想将某些信息存入到磁盘 就可以同过transient关键字修饰成员变量

4.如果一个类中引用了另外的一个类,那么另外的这个类也要实现Serializable接口。

管道流

作用:可以进行两个线程之间的通信。一个线程作为管道输出流,另一个作为管道输入流。

转换流

作用:用于字节流和字符流的转化。

InputStreamReader:将字节流转换为字符流

OutputStreamWriter:将字符流转换为字节流

java i o是什么流_Java I/O流的总结相关推荐

  1. java文件与流_Java文件和流深入

    1.什么是数据流? 数据流是指所有的数据通信通道.有两类流,InputStream and OutputStream,Java中每一种流的基本功能依赖于它们.InputStream用于read,Out ...

  2. java 中的流_Java中的流(IO

    Java中的流(IO流. java.io包中定义了多个流类型(类或抽象类)来实现 输入 / 输出功能,可以从不同的角度对其进行分类: 按单位可分为: 字节流         (一个字节一个字节的读取) ...

  3. java io 转换流_Java编程IO流中的转换流

    对于IO流中的转换流,顾名思义,就是将字符流转换成字节流或者是将字节流转换成字符流的对象. 那么有时候我们得到的是一个字符流,但是我们又需要进行一些计算之类的,或者我们得到的是一个字节流,但是我们又需 ...

  4. java i o是什么流_Java I/O 流,输入流、输出流

    Java中的流,可以从不同的角度进行分类. 按照数据流的方向不同可以分为:输入流和输出流. 按照处理数据单位不同可以分为:字节流和字符流. 按照实现功能不同可以分为:节点流和处理流. 输出流: 输入流 ...

  5. java文件与流_Java文件与流

    文件 文件管理通过java.io包下.file类 作用: 1.文件属性 2.文件检查 3.文件删除 4.不包含对其文件内容的处理 File类的构造 语法: File f =new File(Strin ...

  6. java装饰模式模拟流_Java 装饰模式 io流

    在Java IO流的API中,大量的使用了装饰模式. 现在笔者来阐述一下装饰模式. 装饰模式的角色: --抽象构件角色(Component): 给出一个抽象接口,以规范准备接收附加责任的对象. --具 ...

  7. java api限流_Java 9:流API的增强

    java api限流 Java 9向Stream接口添加了4种新方法: 1. dropWhile dropWhile方法类似于skip方法,但使用Predicate而不是固定的整数值. 当Predic ...

  8. java i o是什么流_Java I/O流介绍

    Java I/O流分为输入流输出流两大部分,任何自InputStream(字节输入流)和Reader(字符输入流)派生而来的类都含有read()基本方法,用来读取单个字节或一组字节数组.任何自Outp ...

  9. java 网络通讯用什么流_Java中打印流,网络通信协议,TCP通信的基础介绍

    1-1.打印流 java.io.PrintStream:打印流 PrintStream 为其他输出流添加了功能,使它们能够方便地打印各种数据值表示形式. PrintStream特点: 1).只负责数据 ...

最新文章

  1. (转) 干货 | 图解LSTM神经网络架构及其11种变体(附论文)
  2. 深度学习几种典型架构
  3. HTTPS协议原理分析
  4. 16道嵌入式C语言面试题(经典) 预处理器(Preprocessor)
  5. 对IP专用(私有)地址的理解!
  6. Unity中Time.deltaTime的含义及其应用
  7. jQuery学习总结06-插件开发
  8. inx函数python_Python数据分析入门
  9. 深度学习——Optimizer算法学习笔记
  10. Web API-基本认知
  11. spring5.0学习笔记8
  12. JavaScript从入门到精通(全)
  13. 微信小程序显示列表数据
  14. [docker]九、compose是什么?有什么用?以及用compose启动web、redis和wordpress
  15. 机器人辅助的符文天赋_LOL机器人辅助带什么天赋_S9机器人辅助怎么玩_3DM网游...
  16. 常用数字、模拟量输出传感器原理介绍
  17. 计算机系统安全之利用操作系统自带命令杀毒
  18. 机器学习(四):剪枝技术(基础篇)
  19. Redis列表与集合
  20. 使用el-dialog时,报错“Unknown custom element:<el-dialog> did you register the component correctly?...make

热门文章

  1. C++设计模式之一 工厂模式(简单工厂、工厂和抽象工厂)
  2. 自己动手写TCC7901的GPIO驱动
  3. 内存spd规范_C语言内存泄露很严重,如何应对?
  4. 移动app测试的多样性_快速搞定APP移动端自动化测试
  5. 【转】ADO.Net之SqlConnection、 Sqlcommand的应用学习心得(思维导图,知识解析,案例分析)
  6. 【转】五大方法,彻底永久关闭win10自动更新的方法【已验证有效】
  7. 第二十二节: 以SQLServer为例介绍数据库自有的锁机制(共享锁、更新锁、排它锁等)和事务隔离级别 :
  8. 什么是指利用计算机和现代,现代计算机一般指什么计算机?
  9. oracle 采购 日历,Oracle日历程序
  10. Python 数据分析三剑客之 Matplotlib(十):3D 图的绘制