IO流笔记Word文档格式.docx

上传人:b****1 文档编号:15315046 上传时间:2022-10-29 格式:DOCX 页数:8 大小:265.39KB
下载 相关 举报
IO流笔记Word文档格式.docx_第1页
第1页 / 共8页
IO流笔记Word文档格式.docx_第2页
第2页 / 共8页
IO流笔记Word文档格式.docx_第3页
第3页 / 共8页
IO流笔记Word文档格式.docx_第4页
第4页 / 共8页
IO流笔记Word文档格式.docx_第5页
第5页 / 共8页
点击查看更多>>
下载资源
资源描述

IO流笔记Word文档格式.docx

《IO流笔记Word文档格式.docx》由会员分享,可在线阅读,更多相关《IO流笔记Word文档格式.docx(8页珍藏版)》请在冰豆网上搜索。

IO流笔记Word文档格式.docx

按处理数据单位不同可以分为字节流和字符流。

按照功能不同可以分为节点流和处理流。

J2SDK所提供的所有流类型位于包java.io内都分别继承自以下四种抽象流类型。

节点流和处理流:

节点流为可以从一个特定的数据源(节点)读写数据(如:

文件,内存)

处理流是“连接”在已存在的流(节点流或处理流)之上,通过对数据的处理为程序提供更为强大的读写功能。

InputStream

继承自InputSteam的流都是用于向程序中输入数据,且数据的单位为字节(8bit);

下图中深色为节点流,浅色为处理流。

InputStream的基本方法

读取一个字节并以整数的形式返回(0~255),

如果返回-1已到输入流的末尾。

intread()throwsIOException

读取一系列字节并存储到一个数组buffer,

返回实际读取的字节数,如果读取前已到输入流的末尾返回-1

intread(byte[]buffer)throwsIOException

读取length个字节并存储到一个字节数组buffer,从off位置开始存,最多len

返回实际读取的字节数,如果读取前以到输入流的末尾返回-1

intread(byte[]buffer,intoff,intlen)

 

throwsIOException

关闭流释放内存资源

voidclose()throwsIOException

OutputStream

继承自OutputSteam的流是用于程序中输入数据,且数据的单位为字节(8bit);

OutputStream的基本方法

向输出流中写入一个字节数据,该字节数据为参数b的低8位

voidwrite(intb)throwsIOException

将一个字节类型的数组中的数据写入输出流

voidwrite(byte[]b)throwsIOException

将一个字节类型的数组中的从指定位置(off)开始的len个字节写入到输出流

voidwrite(byte[]b,intoff,intlen)

voidclose()throwsIOException

将输出流中缓冲的数据全部写出到目的地

voidflush()throwsIOException

Reader

继承自Reader的流都是用于向程序中输入数据,且数据的单位为字符(16bit);

下图中深色为节点流,浅色的为处理流。

Reader的基本方法

读取一个字符并以整数的形式返回(0~255),如果返回-1已到输入流的末尾。

读取一系列字符并存储到一个数组buffer,返回实际读取的字符数,如果读取前已到输入流的末尾返回-1

intread(char[]cbuf)throwsIOException

读取length个字符并存储到一个数组buffer,从off位置开始存,最多读取len返回实际读取的字符数,如果读取前以到输入流的末尾返回-1

intread(char[]cbuf,intoff,intlen)

Writer

继承自Writer的流都是用于程序中输入数据,且数据的单位为字符(16bit);

Writer的基本方法

向输出流中写入一个字符数据,该字节数据为参数b的低16位

voidwrite(intc)throwsIOException

将一个字符类型的数组中的数据写入输出流,

voidwrite(char[]cbuf)throwsIOException

将一个字符类型的数组中的从指定位置(offset)开始的length个字符写入到输出流

voidwrite(char[]cbuf,intoffset,intlength)

将一个字符串中的字符写入到输出流

voidwrite(Stringstring)throwsIOException

将一个字符串从offset开始的length个字符写入到输出流

voidwrite(Stringstring,intoffset,intlength)

voidflush()throwsIOException

节点流类型

访问文件

FileInputStream和FileOutputStream分别继承自InputStream和OutputStream用于向文件中输入和输出字节。

FileInputStream和FileOutputStream的常用构造方法:

FileInputStream(Stringname)throwsFileNotFoundException

FileInputStream(Filefile) 

throwsFileNotFoundException

FileOutputStream(Stringname)throwsFileNotFoundException

FileOutputStream(Filefile) 

FileOutputStream(Filefile,booleanappend)

FileInputSteam和FileOutputStream类支持其父类InputStream和OutputStream所提供的数据读写方法。

注意:

在实例化FileInputStream和FileOutputSteam流时要用try-catch语句以处理其可能抛出的FileNotFoundException。

在读写数据时也要用try-catch语句以处理可能抛出的IOException。

FileNotFoundException是IOException的子类

FileReader和FileWriter分别继承自Reader和Writer,FileInputSteam与FileOutputStream类似,所不同的是

FileReader和FileWriter向文件输入和输出的数据单位为字符。

FileReader和FileWriter的常用构造方法:

publicFileWriter(Filefile)throwsIOException

publicFileWriter(Filefile,booleanappend)

publicFileWriter(StringfileName)throwsIOException

publicFileWriter(StringfileName,booleanappend)

publicFileReader(StringfileName)

publicFileReader(Filefile)

throwsFileNotFoundException

处理流类型

缓冲流

缓冲流要“套接”在相应的节点流之上,对读写的数据提供了缓冲的功能,提高了读写的效率,同时增加了一些新的方法。

J2SDK提供了四种缓存流,其常用的构造方法为:

BufferedReader(Readerin)

BufferedReader(Readerin,intsz)//sz为自定义缓存区的大小

BufferedWriter(Writerout)

BufferedWriter(Writerout,intsz)

BufferedInputStream(InputStreamin)

BufferedInputStream(InputStreamin,intsize)

BufferedOutputStream(OutputStreamout)

BufferedOutputStream(OutputStreamout,intsize)

BufferedReader提供了readLine方法用于读取一行字符串(以\r或\n分隔)。

BufferedWriter提供了newLine用于写入一个行分隔符。

对于输出的缓冲流,写出的数据会先在内存中缓存,使用flush方法将会使内存中的数据立刻写出。

转换流

InputStreamReader和OutputStreamWriter用与字节数据到字符数据之间的转换。

InputStreamReader需要和InputStream“套接”。

OutpStreamWriter需要和OutputStream“套接”。

转换流在构造时可以指定其编码集合,例如:

InputStreamisr=newInputStreamReader

(System.in,“ISO8859_1”)

数据流&

ByteArrayInputStream&

ByteArrayOutputStream

DataInputStream和DataOutputStream分别继承自InputSteam和OutputStream,它属于处理流,需要分别“套接”在InputStream和OutputStream类型的节点流上。

DataInputStream和DataOutputStream提供了可以存取与机器无关的Java原始类型数据(如:

int,double等)的方法。

DataInputStream和DataOutputStream的构造方法为:

DataInputStream(InputStreamin)

DataOutpu

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 卡通动漫

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1