您的位置 首页 java

Java IO流

Java IO流按流的方向分为输入流和输出流,按处理数据的类型分为字节流和字符流,按数据源分为节点流和处理流

字节流

字符流

备注

输入流

输出流

输入流

输出流

节点流

FileInputStream

FileOutputStream

FileReader

FileWriter

数据源为 File

byte Array InputStream

ByteArrayOutputStream

Char ArrayReader

CharArrayWriter

数据源为内存数组

PipedInputStream

PipedOutputStream

PipedReader

PipedWriter

数据源为Piped

StringReader

StringWriter

数据源为 String

处理流

BufferedInputStream

BufferedOutputStream

BufferedReader

BufferedWriter

在原有流的基础上增加缓冲,提高效率

InputStreamReader

Output StreamWriter

提供字节流到字符流的转换,并指定 字符编码

DataInputStream

DataOutputStream

基本数据类型读写

ObjectInputStream

ObjectOutputStream

提供对象的序列化

PrintStream

PrintWriter

打印流

Sequence InputStream

将多个流整合到一个流中

字节流:按字节处理数据,可以处理所有类型的数据(文本和 二进制 )。

字符流:按字符处理数据,只能处理文本,如果字符编码不匹配,还可能导致数据乱码。另外Writer一定要进行flush或close,数据才会真的写入到数据源中。

InputStream

int read(): 读取一个字节并返回,到达末尾返回-1

int read(byte b[]) :读取b.length个字节到byte数组中,到达末尾返回-1

int read(byte b[], int off, int len) :读取len个字节到byte数组off开始的位置,到达末尾返回-1

OutputStream

void write(int b):写一个字节

void write(byte b[]):将byte数组写入输出流

void write(byte b[], int off, int len):将b数组中off开始的len个字节写入输出流

Reader

int read():读取一个字符

int read(char cbuf[]):读取cbbuf.length个字符到 字符数组

int read(char cbuf[], int off, int len):读取len个字符到字符数组中

Writer

void write(int c):写入一个字符

void write(char cbuf[]):将cbuf写入输出流

void write(char cbuf[], int off, int len): 将cbuf off开始的len个字符写入输出流

void write(String str):写入 字符串

void write(String str, int off, int len):写入字符串off开始的len个字符

文章来源:智云一二三科技

文章标题:Java IO流

文章地址:https://www.zhihuclub.com/181107.shtml

关于作者: 智云科技

热门文章

网站地图