IO流

IO体系

在Java API中,可以从其中读入一个字节序列的对象称作输入流,而可以向其中写入一个字节序列的对象称作输出流。抽象类InputStream和OutputStream构成字节IO流类层次结构的基础;又从抽象类Reader和Writer中继承出了一个专门用于处理Unicode字符的字符IO流的类层次结构。
IO流体系结构
IO流中所有的类又可根据操作对象的不同分为:

  • 文件:FileInputStream、FileOutputStream、FileReader、FileWriter
  • 数组:ByteArrayInputStream、ByteArrayOutputStream、CharArrayReader、CharArrayWriter
  • 管道操作:PipedInputStream、PipedOutputStream、PipedReader、PipedWriter
  • 基本数据类型:DataInputStream、DataOutputStream
  • 缓冲流:BufferedInputStream、BufferedOutputStream、BufferedReader、BufferedWriter
  • 打印:PrintStream、PrintWriter
  • 序列化反序列化:ObjectInputStream、ObjectOutputStream
  • 流转换:InputStreamReader、OutputStreamWriter
InputStream

java.io.InputStream抽象类是输入字节流中所有类的超类,实现了CloseableAutoCloseable接口。

int available()  	//检查当前可读入的字节数量
abstract int read()		//从输入流读取数据的下一个字节
int read(byte[] b)		//从输入流读取数据到缓冲区b
int read(byte[] b, int off, int len)		//从输入流读取最多len字节的数据到字节数组
long skip(long n)		//跳过输入流的n字节数据
void mark(int readlimit)		//在输入流当前位置标记
void reset()		//返回到最后一个标记的位置
void close()			//关闭输入流,冲刷缓冲区
ByteArrayInputStream

在这里插入图片描述

FileInputStream
  java.io.FileInputStream extends InputStream:文件字节输入流,把数据读取到内存使用
   构造方法:
       FileInputStream(String name)
       FileInputStream(File file)
   读取数据:while循环读取到-1结束
   读取多个字节:缓冲数组

在这里插入图片描述

FilterInputStream

过滤输入流,用来封装其他的输入流,并为它们提供额外的功能。常用子类有:BufferedInputStream、DataInputStream。

BufferedInputStream

在这里插入图片描述

DataInputStream

在这里插入图片描述

ObjectInputStream

在这里插入图片描述
在这里插入图片描述

OutputStream

java.io.OutputStream表示字节输出流所有类的超类,接收输出字节并将其发送到某个接收器。实现的接口:CloseableFlushableAutoCloseable接口。

abstract void write(int n)		//写出一个字节的数据
void write(byte[] b)			//输出流写入数据到缓冲区b
void write(byte[] b, int off, int len)		//写出所有字节或某个范围的字节到数组
void close()			//冲刷并关闭输出流
void flush()			//冲刷输出流,将所有缓冲的数据发送到目的地
ByteArrayOutputStream

在这里插入图片描述

FileOutputStream

在这里插入图片描述
在这里插入图片描述

FilterOutputStream

过滤输出流,封装其它的输出流,并为它们提供额外的功能。常用子类:BufferedOutputStream、DataOutputStream和PrintStream。

BufferedOutputStream

在这里插入图片描述

DataOutputStream

在这里插入图片描述

PrintStream

在这里插入图片描述

ObjectOutputStream

在这里插入图片描述

Reader

java.io.Reader是用于读取字符流的抽象类,实现的接口:CloseableAutoCloseableReadable。子类必须实现的唯一方法是read(char [], int, int)

int read()
int read(char[] cbuf)
int read(char[] cbuf, int off, int len)
boolean ready()
void mark()
long skip(long n)
void reset()
void close()
CharArrayReader

在这里插入图片描述
在这里插入图片描述

BufferedReader

在这里插入图片描述
在这里插入图片描述

InputStreamReader

在这里插入图片描述
在这里插入图片描述

FileReader

在这里插入图片描述

Writer

java.io.Writer用于写入字符流的抽象类,子类必须实现的唯一方法时write(char [], int, int)flush()close()

void write(int c)
void write(String str)
void write(String str, int off, int len)
void write(char[] cbuf)
void write(char[] cbuf, int off, int len)
Writer append(char c)
Writer append(CharSequence csq)
Writer append(CharSequence csq, int start, int end)
void flush()
void close()
CharArrayWriter

在这里插入图片描述
在这里插入图片描述

BufferedWriter

在这里插入图片描述

OutputStreamWriter

在这里插入图片描述

FileWriter

在这里插入图片描述

RandomAccessFile

在这里插入图片描述

File

java.io.File类是文件和目录路径名的抽象表示,主要用于文件和目录的创建、查找和删除等操作,实现的接口:SerializableComparable<File>

//绝对路径和相对路径
String getAbsolutePath()	
String getPath()
String getName()
long length()
//判断功能的方法
boolean exists()
boolean isDirectory()
boolean isFile()
//创建删除功能的方法
boolean createNewFile()
boolean delete()
boolean mkdir()
boolean mkdirs()
//目录的遍历
String[] list()
File[] listFiles()				

在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值