Java笔记:Java 流(Stream)、文件(File)和IO

java.io 包几乎包含了所有操作输入、输出需要的类。所有这些流类代表了输入源和输出目标。

输入输出流 简介

一个流被定义为一个数据序列。输入流用于从源读取数据,输出流用于向目标写数据。

下图是一个描述输入流和输出流的类层次图:

Java笔记:Java 流(Stream)、文件(File)和IO

在java.io包中操作文件内容的主要有两大类:字节流、字符流,两类都分为输入和输出操作。

在字节流中输出数据主要是使用OutputStream完成,输入使的是InputStream;在字符流中输出主要是使用Writer类完成,输入流主要使用Reader类完成。这四个都是抽象类。

java中提供了专用于输入输出功能的包java.io, 其中包括:

InputStream, OutputStream, Reader, Writer。

InputStream和OutputStream, 两个是为字节流设计的,主要用来处理字节或二进制对象。

Reader和Writer, 两个是为字符流(1个字符占2个字节)设计的,主要用来处理字符或字符串。

常见的System.in其实就是InputStream对象。

字节流转换为字符流

为了方便处理字节流,我们经常会把字节流转换为字符流。例如:

Java 的控制台输入由 System.in 完成。为了获得一个绑定到控制台的字符流,我们可以把 System.in 包装在一个 BufferedReader对象中来创建一个字符流。

下面是创建 BufferedReader 的基本语法:

BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpgzjp.html