简介
👨💻个人主页:@云边牧风
👨🎓小编介绍:欢迎来到云边牧风破烂的小星球🌝
📋专栏:Java基础知识
🔑本章内容:输入输出流
记得 评论📝 +点赞👍 +收藏😽 +关注💞哦~
接着第五章常用实用类,我们发现前五章中经常使用到System.out.println( )的语句,这是一个常用的输出语句,内容安排上一直没系统地讲到Java的输入和输出操作,这章便围绕输出输出展开学习,第六章输入输出流(I/O流)的主要内容有👇:
6.1 输入/输出流
6.1.1 I/O流概念
6.1.2 I/O流相关类
6.2 文件读写
6.2.1 File类
6.2.2 读写文本文件
6.2.3 读写二进制文件
6.2.4 随机存取文件读写
第一节先主要介绍输入/输出流
一、输入/输出流(I/O流)
概念
①先弄清楚什么叫(I/O流):
• I/O 即输入Input/ 输出Output的缩写,其实就是计算机调度把各个存储中(包括内存和外部存储)的数据写入写出的过程;
• java中用“流(stream)”来抽象表示这么一个写入写出的功能,封装成一个“类”,都放在java.io这个包里面
② java.io包中的输入/输出流类能够与程序“外部”交互,获取/输出“信息”
③ 开发角度上,我们所指的 I/O:指程序与外部的信息交互
④ 流:一个从源流向目的地的数据序列
不论数据从哪来,到哪去;也不论数据本身是何类型,读写数据的方法大体上都是一样的:
打开一个流👉读/ 写信息👉关闭流
二、I/O流相关类
2.1、I/O流分类
输入流 : InputStream 、 Reader 及其子类输出流 : OutputStream 、 Writer 及其子类
面向字符 的流: Reader 、 Writer 及其子类面向字节 的流: InputStream 、 OutputStream 及其子类
节点流 : 直接与目标相连 ,进行读写。如 FileReader 类、 FileWriter 类处理流 : 不直接与目标相连 , 基于已有流构造 ,能够在读取流时进行 处理 。如 BufferedReader 类、 BufferedWriter 类
2.2、面向字符与面向字节的流
联系与区别
三、面向字符的流
常用的有👇:
BufferedReader :处理流,建立 缓冲区 读取数据LineNumberReader :增加缓冲 计数器CharArrayReader :从 字符数组 中读取数据InputStreamReader :处理流, 转换字节流到字符流FileReader :从本地 文件系统 中读取字符序列FilterReader :处理流,提供一个 过滤器PushbackReader :允许把文本数据 推回到读取器 的流中PipedReader :从 线程管道 中读取字符序列StringReader :从 字符串 中读取字符序列
四、面向字节的流
五、标准的输入输出流
标准输入输出对象:in、out、err
System. in : InputStream 类型 ,代表 标准输入流 ,这个流是已经打开了的,默认对应 键盘 输入
System. out : PrintStream 类型 ,代表 标准输出流 ,默认对应 屏幕 输出
System. err : PrintStream 类型 ,代表 标准错误信息输出流 ,默认状态对应于 屏幕 输出
例如:从键盘读入信息并在显示器上显示
import java.io.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader r = new BufferedReader(new InputStreamReader(System.in));
String s = r.readLine();
System.out.println(s);
}
}
balabalabala//键盘上敲入的
balabalabala//屏幕上输出的
关于以上代码的介绍👇:
System.in:程序启动时由Java系统自动创建的流对象,它是原始的字节流,不能直接从中读取字符,需要对其进行进一步的处理
InputStreamReader(System.in):以System.in为参数创建一个InputStreamReader流对象,相当于字节流和字符流之间的一座桥梁,读取字节并将其转换为字符
BufferedReader r:对InputStreamReader处理后的信息进行缓冲,以提高效率
六、处理流
如:
InputStreamReader 读取字节并转换为字符BufferedReader 对另一个流产生的数据进行缓冲
上面代码例子的逻辑:
定义一个BufferedReader,从标准输入中读取字符:
BufferedReader br = new BufferedReader(new InputStreamReader(System.in) );
IO异常
例如第三行代码👇:
public static void main(String[] args) throws IOException {
结束语:
以上是Jav第六章第1节的全部内容 希望大家喜欢
下一节讲第六章第2节:文件读写——File类、 读写文本文件、 读写二进制文件、随机存取文件读写
喜欢的可以点赞+关注哈 ❤