什么是IO流_io流实现

什么是IO流_io流实现什么是IO流先看一段百度上的解释:当然:如果你看不懂,那么你只需要记住下面3句话.1.(1).我们知道,每个人家里喝的水都是从自来水厂来的,自来水厂的水又是从水源地来的,(2).水是通过水管来的。(3).那么这当中的水流,便可以理解为IO流。2. 那么JAVA中的IO流呢; (1).在java中,java就是自来水厂,水源地就是源,家就是目的(2)./

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

什么是IO流

先看一段百度上的解释:

什么是IO流_io流实现

当然:如果你看不懂,那么你只需要记住下面3句话.

1.什么是IO流_io流实现

(1).我们知道,每个人家里喝的水都是从自来水厂来的,自来水厂的水又是从水源地来的,

(2).水是通过水管来的。

(3).那么这当中的水流,便可以理解为IO流。

2. 那么JAVA中的IO流呢;

什么是IO流_io流实现

  (1).在java中,java就是自来水厂,水源地就是源,家就是目的

(2).//对于自来水厂当做参照物来说,从水源地流到我自来水厂的水,是从外面进来的,那么水是输入进来的。(输入)

从自来水厂到家的水,是从自来水厂流出的(输出)。

对于java程序来说,也是一样的,从源地到我java中的流,便是输入流(InputStream),而从我java中流出的便是出流(OutputStream)

(3).那么你已经知道什么是输入流(InputStream)输出流(OutputStream)了。

3.下面再看一幅图,缓冲区

什么是IO流_io流实现

(1).当我们需要水的时候,那么一个储水池能够更好的满足我们,能够让我们想要水就有水。提高的水到效率

(2).java中的这个储水池叫做缓冲区,(Buffered?)一个用于特定基本类型数据的容器。

那么这个(问号)是什么意思呢?

我们知道储水池有很多种类型的,那么java中的缓冲区自然也有很多种类型的,例如以下最常用的

什么是IO流_io流实现

我们已经知道的InputStream是输入流,那么BufferedInputStream就是输入流的缓冲区了;

同样,那么OutputStream是输出流,那么BufferedOutputStream就是输出流的缓冲区了;

4.转换流

什么是IO流_io流实现

(1).同样的 ,java中的转换流,相当于过滤器,是一种对数据进行编码,改变格式的存储;如下:

可以将字符以指定编码格式存储。
可以对文本数据指定编码格式来解读
指定编码表的动作由构造函数完成

(2).分为InputStreamReader        OutputStreamWriter

InputStreamReader
使用: InputStreamReader isr = new InputStreamReader(is, “gbk”);

OutputStreamWriter
使用: OutputStreamWriter osw = new OutputStreamWriter(os, “ISO-8859-1”);

IO流的分类:

介绍几个最主要的;分别是字符流,字节流,转换流。

什么是IO流_io流实现

(1).字节流

什么是IO流_io流实现

首先:字节流可划分为两类      输入流InputStream     输出流OutputStream

对于java来说:当对文件的读取的时候,使用FileInputStream;

对于java来说:当对文件的输出的时候。使用FileOutputStream;

如下,完成一个在f盘下的r.txt文件,再复制到f盘下的rrrr.txt;一个文件的复制,并改名;

(1)使用时先创建:  new FileInputStream( 此处为String类型的需要读入数据文件地址  );

什么是IO流_io流实现

(2)创建一个缓冲区(缓冲区的创建能够提高文件的读取效率)

什么是IO流_io流实现

(3)使用时先创建:  new FileOutputStream( 此处为String类型的需要输出数据文件地址  );

什么是IO流_io流实现

(4).创建一个缓冲区(缓冲区的创建能够提高文件的读取效率)

什么是IO流_io流实现

(5).数据的读取:创建一个byte类型的数组,至于数组的长度建议为1024的倍数;

什么是IO流_io流实现

(6).数据的写入

什么是IO流_io流实现

(7).流的刷新与关闭:对于初学者记住,先刷新,后关闭。 而关闭的顺序,简单来讲你可以全部关闭,不会出错,

至于其中的关闭顺序,先不予探究。

什么是IO流_io流实现

(2).字符流

以下就是字符流的详细:

字符流是字节流的类似。

1.字符流分为  输入流    输出流

什么是IO流_io流实现

首先:字符流可划分为两类      输入流Reader     输出流Writer

对于java来说:当对文件的读取的时候,使用FileReader     ;

对于java来说:当对文件的输出的时候。使用FileWriter;

如下,完成一个在f盘下的r.txt文件,再复制到f盘下的rrrr.txt;一个文件的复制,并改名;

(1)使用时先创建:  new FileReader( 此处为String类型的需要读入数据文件地址  );

(2)创建一个缓冲区(缓冲区的创建能够提高文件的读取效率)

(3)使用时先创建:  new FileWriter;( 此处为String类型的需要输出数据文件地址  );


(4).创建一个缓冲区(缓冲区的创建能够提高文件的读取效率)

(5).数据的读取:创建一个byte类型的数组,至于数组的长度建议为1024的倍数;

(6).数据的写入

(7).流的刷新与关闭:对于初学者记住,先刷新,后关闭。 而关闭的顺序,简单来讲你可以全部关闭,不会出错,

public class CopyDemo4 {

public static void main(String[] args) {

FileReader fr = null;
BufferedReader br = null;
FileWriter fw = null;
BufferedWriter bw = null;
try {

fr = new FileReader(“f://rrrr.txt”); //创建输入流
br = new BufferedReader(fr);//创建输入流缓冲区
fw = new FileWriter(“f://ww.txt”);//创建输出流
bw = new BufferedWriter(fw);//创建输出流缓冲区
String readLine = null;
while ((readLine = br.readLine()) != null) {
//数据的复制
bw.write(readLine);
bw.newLine();
bw.flush(); //刷新
}
} catch (IOException e) {
//try catch异常
e.printStackTrace();
}
finally {

try {

if (fr != null) {

fr.close(); //流的关闭
}
if (br != null) {

br.close();
}
if (fw != null) {

fw.close();
}
if (bw != null) {

bw.close();
}
} catch (IOException e) {

e.printStackTrace();
}
}
}
}

(3).转换流


(1)
.分类  两类
什么是IO流_io流实现
(2).
使用

1.
先创建输入流对象

InputStream is = new FileInputStream(“e://a.txt”);


2.创建转换流对象

输入流对象,     读出的编码
InputStreamReader isr = new InputStreamReader(is,   
 “gbk”);


3.创建输出流对象

OutputStream os = new FileOutputStream(“d://asd.txt”);

4.
创建转换流对象
 出流对象, 输出的编码
OutputStreamWriter osw = new OutputStreamWriter(os,“ISO-8859-1”);

以上就是IO流的简单介绍

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/179944.html原文链接:https://javaforall.net

(0)
上一篇 2022年10月20日 下午12:00
下一篇 2022年10月20日 下午12:00


相关推荐

  • 学c++还是学java就业「建议收藏」

    学c++还是学java就业「建议收藏」Java更偏向业务型开发,比如银行的xx管理系统,安卓手机的软件以及WEB等等。java更容易入手,学会用框架基本就能来开发,开发效率(完成的速度)相对高,当前相对C++更好就业,薪资平均水平相比C++略高(参考2014年谷歌统计数据)。C++,难度相对高,入手较难深入也难,它涉及的内容很多,特性很多,可以做一些考虑性能(并发,速度)的东西,比如各种后台服务,游戏的后台部分,C++主要更服务器打交道,当然你要用上MFC,QT等也能做界面的东西。前途还是钱途:当前的话,可能Java性价比更高。不过游戏,

    2022年7月17日
    17
  • 解决使用IDE Run运行出错package pack/test is not in GOROOT (/usr/local/go/src/pack/test)

    解决使用IDE Run运行出错package pack/test is not in GOROOT (/usr/local/go/src/pack/test)首先先讲一下包包 package 是多个 Go 源码的集合 是一种高级的代码复用方案 Go 语言为我们提供了很多内置包 如 fmt os io 等 我们还可以根据自己的需要创建自己的包 一个包可以简单理解为一个存放 go 文件的文件夹 该文件夹下面的所有 go 文件都要在代码的第一行添加如下代码 声明该文件归属的包 package 包名注意事项 一个文件夹下面直接包含的文件只能归属一个 package 同样一个 package 的文件不能在多个文件夹下 包名可以不和文件夹的名字一样 包名不能包含 符号 包名

    2026年3月19日
    2
  • 取消li圆点_css去掉li前面的点

    取消li圆点_css去掉li前面的点在ul标签上写样式是在ul而不是li

    2025年8月3日
    6
  • 查看端口 并关闭端口

    查看端口 并关闭端口假如在Windows平台下,我们的端口号被谁占用了,以8080端口为例:       在,命令行输入:netstat-nao出现: 协议 本地地址     外部地址    状态     PID TCP  0.0.0.0:135      0.0.0.0:0       LISTENING  

    2022年7月20日
    20
  • 与门或门非门逻辑表达式_与门非门是什么意思

    与门或门非门逻辑表达式_与门非门是什么意思文章目录前言正文与门或门非门与非门或非门异或门同或门后言前言本文记录自:https://www.bilibili.com/video/BV1Hv4y1f7wh将介绍以下八种逻辑门:正文与门相当于许多高级语言中的(且~A&&B)或门相当于许多高级语言中的(或~A||B)非门相当于许多高级语言中的(非~!A),与非门与门+非门—>!(A&&B)或非门或门+非门—>!(A||B)异或门相当于许多高级语言中的(

    2022年10月12日
    4
  • Jmeter性能测试(一)性能测试关键指标解析

    Jmeter性能测试(一)性能测试关键指标解析一、性能测试关键指标解析1、响应时间多–并发量快–延时、响应时间好–稳定性(长时间运行)省–资源利用率响应时间:对请求作出响应所需要的的时间,是用户感知软件性能的主要指标。响应时间包括:1.用户客户端呈现时间2.请求/响应数据网络传输时间3.应用服务器处理时间4.数据库系统处理时间响应时间多少合理?对于一个Web系统,普遍接受的响应时间标准为2/5/8秒(2秒–非常好;5秒–可接受;8秒是上限)2、并发用户数用户…

    2022年6月17日
    135

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号