如何快速精确的理解io流的使用及其原理

问题描述

如何快速精确的理解io流的使用及其原理

io的输入和输出的原理和使用,在使用文件存储前想更好的理解io

解决方案

存储的目标(比如一个文件)当做水池,链接水池和外界的是水管,这个水管往水池里灌水,或者把水池里的水泵出来,形成“流”。
往里灌水(写文件)时,对于水管(流)来说,是“将水管里的水输出到水池里”,此时对于流来说是输出流;
往外排水(读文件)时,对于水管(流)来说,是“将水池里的水输入到水管里”,此时对于流来说是输入流。
一开始总是站在水池的角度,总是想不明白,站在水管的角度就明白了。

时间: 2025-01-20 23:46:00

如何快速精确的理解io流的使用及其原理的相关文章

刚接触IO流有一段代码不理解求大神给我说明一下

问题描述 刚接触IO流有一段代码不理解求大神给我说明一下 红色框框标记的是不明白的. 再次表示感谢! 解决方案 Java 下 IO 中Reder 和 InputStream 分别是以字符和字节的形式来完成数据的读取的,然而返回值确是 int 类型的数据,这样做的核心目的只是要取到到一个 int 类型下的 -1 来表示数据流的末尾. 此次使用的read(b,0,512)是将文件中的数据读取到字节缓冲区b中,并返回读取到的字节的总数.循环读取文件内容到缓冲区,并写入另一个文件中.循环处理直到到达读取

IO流详细

 API中IO流的结构图 IO(intput output)流 特点:读写之间没有直接联系,读入数组,从数组写入硬盘 IO流用来处理设备之间的数据传输 Java对数据的操作是通过流的方式 Java用于操作流的对象都在IO包中 流按操作数据分两种:字节流(处理图片等)和字符流(早期只有字节流,字节流能处理所有文件,但是文本文件是很常见的,为了方便所以弄了字符流,内部融合了编码表) 流按流向分为:输入流,输出流(针对内存) IO流常用的基类(大量运用了装饰者模式) 字节流的抽象类     Inp

Java基础-21总结字符流,IO流编码问题,实用案例必做一遍

你需要的是什么,直接评论留言. 获取更多资源加微信公众号"Java帮帮" (是公众号,不是微信好友哦) 还有"Java帮帮"今日头条号,技术文章与新闻,每日更新,欢迎阅读 学习交流请加Java帮帮交流QQ群553841695 分享是一种美德,分享更快乐! 1:字符流(掌握)  // 字节流读取中文可能出现的小问题(所以用字符流输入输出中文) package cn.itcast_01; import java.io.FileInputStream; import ja

Java中IO流,输入输出流概述与总结

总结的很粗糙,以后时间富裕了好好修改一下. 1:Java语言定义了许多类专门负责各种方式的输入或者输出,这些类都被放在java.io包中.其中, 所有输入流类都是抽象类InputStream(字节输入流),或者抽象类Reader(字符输入流)的子类: 而所有输出流都是抽象类OutputStream(字节输出流)或者Writer(字符输出流)的子类. [首先需要明白的是:流是干什么的???(为了永久性的保存数据)   根据数据流向的不同分为输入流和输出流:   根据处理数据类型的不同分为字符流和字

io流-java问题:学习IO流课程的Filewriter时遇到了实操跟老师所讲,并不一致的情况

问题描述 java问题:学习IO流课程的Filewriter时遇到了实操跟老师所讲,并不一致的情况 老师讲课时说,要在我下图的箭头那个位置多写个",true",代表数据追加,以此可以分批次writer数据到文件里,否则新数据会覆盖前面的旧数据,视频演示时的确也符合他的这个说法,但我下来自己练习时发现,不用加true它自己就会追加数据耶?这是怎么回事,用的软件版本都是一样的,怎么会和教程里不同 解决方案 1楼说的没错,不知你谁否已经理解. 调用一次new Filewriter("

Java基础-19总结IO流,异常try…catch,throws,File类

1:异常(理解) (1)程序出现的不正常的情况. (2)异常的体系 Throwable |--Error 严重问题,我们不处理. |--Exception |--RuntimeException 运行期异常,我们需要修正代码 |--非RuntimeException 编译期异常,必须处理的,否则程序编译不通过 package cn.itcast_01; /*  * 异常:程序出现了不正常的情况.  *   * 举例:今天天气很好,班长出去旅游.骑着自行车,去山里面呼吸新鲜空气.  *  问题1:

Java 1.1的IO流

到这个时候,大家或许会陷入一种困境之中,怀疑是否存在IO流的另一种设计方案,并可能要求更大的代码量.还有人能提出一种更古怪的设计吗?事实上,Java 1.1对IO流库进行了一些重大的改进.看到Reader和Writer类时,大多数人的第一个印象(就象我一样)就是它们用来替换原来的InputStream和OutputStream类.但实情并非如此.尽管不建议使用原始数据流库的某些功能(如使用它们,会从编译器收到一条警告消息),但原来的数据流依然得到了保留,以便维持向后兼容,而且: (1) 在老式层

java的IO流的典型应用

尽管库内存在大量IO流类,可通过多种不同的方式组合到一起,但实际上只有几种方式才会经常用到.然而,必须小心在意才能得到正确的组合.下面这个相当长的例子展示了典型IO配置的创建与使用,可在写自己的代码时将其作为一个参考使用.注意每个配置都以一个注释形式的编号起头,并提供了适当的解释信息.   //: IOStreamDemo.java // Typical IO Stream Configurations import java.io.*; import com.bruceeckel.tools.

java 标准Io流

问题描述 我想问下,为什么java里面要有标准IO流,有了字节流和字符流,不就可以了吗.为什么啊,我晕. 问题补充:blessed24 写道 解决方案 标准IO指计算机的的输入设备和输出设备,搞这些的吧,为了兼容不同系统,不同物理设备的输入与输出!解决方案二:引用是不是说,只有标准Io实现了跨平台,其他的流都不是跨平台的?标准IO 一般所有的操作系统都是一样的...windows要遵循,linux也一样吧....解决方案三:引用inpublic static final InputStream