Java IO流详细总结

Java IO流详细总结

ID:40565846

大小:18.47 KB

页数:5页

时间:2019-08-04

Java IO流详细总结_第1页
Java IO流详细总结_第2页
Java IO流详细总结_第3页
Java IO流详细总结_第4页
Java IO流详细总结_第5页
资源描述:

《Java IO流详细总结》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、I/O流(输入/输出流)一、字节流1)基本字节流InputStream抽象了以字节读取数据的方式;OutputStream抽象了以字节写出数据的方式;2)EOF=End=读到-1就读到结尾;3)InputStream基本方法:in.read();//读取一个字节无符号填充到int低八位,-1是EOFin.read(byte[]buf);in.read(byte[]buf,intstart,intsize)4)OutputStream基本方法out.write(intb);//写出一个byte到流,b的低八位out.write(byte[]buf);//将buf字节数组都写入到流out.w

2、rite(byte[]buf,intstart,intsize)5)文件字节流FileInputStream--->具体实现了在文件上读取byte数据的方法FileOutputStream--->具体实现了向文件中写出byte数据的方法6)DataOutputStream/DataInputStream对流功能的扩展,可以更加方便的读取int,long,字符等类型数据DataOutputStream:由FileOutputStream构造出来,通过包装FileOutput,可以调用FileOutput类的write方法来构造新的更方便的写方法:DataOutputStreamdos=ne

3、wDataOutputStream(newFileOutputStream(file))dos.writeInt(10);dos.writeLong(10l);dos.writeDouble(10.5);(DataInputStream和DataOutputStream类似)8)BufferedInputStream/BufferedOutputStream为IO提供了带缓冲区的操作,提高了流模式的IO的性能FileOutputStream--->write()方法相当于一滴一滴地把水"转移"过去DataOutputStream--->write()方法相当于一瓢一瓢地把水"转移"过去B

4、ufferedOutputStream--->write()方法相当于一瓢一瓢先放入桶中(缓冲区),再从桶中倒入到另一缸中.--单字节读取:方法:intb=in.read()效率低(没有缓冲区),一般不用与大文件的读取--批量读取:方法:intbytes=in.read(byte[]b,intstart,intlength)效率高(利用了缓冲区),一般用于大文件读取,是常用的文件读取方法9)输入输出流的联合使用:1、开启流FileInputStreamin=newFileInputStream(srcFile);//需要判断的是srcFile是否存在,是否是文件;若是文件,则进行后续操作

5、FileOutputStreamout=newFileOutputStream(destFile);//因为destFile即使不自己创建,程序也会帮忙创建,所以不用判断是否存在,是否文件2、进行读写操作。批量读取——建立缓冲区byte[]buf=newbyte[2*1024];intb=in.read(buf));//判断是否读完,-1则读完,b的值是读到的个数,他并不会等于-1只是b=in.read(buf)整个等于-1则代表读取完毕了。如果第一次不等于-1则读取第二次,直到读完为-1为止.循环批量读取intbytes;while((bytes=in.read(buf,0,buf.l

6、ength))!=-1){out.write(buf,0,bytes);}二、字符流1、基本字符流Reader抽象了以字符读取数据的方式Writer抽象了以字符写出数据的方式1)Reader基本方法:intb=in.read();//读一个字符,当流中没有数据可读时,返回值为-1in.readread(char[]c);//根据数组尺寸从流中读字符,置于数组中。返回读取字符个数。in.read(char[]c,intoff,intlen)//读入len个字符,从下标off开始置入数组cbufin.close()//关闭流2)Writer基本方法out.write(intb);//写一个字

7、符数据out.write(char[]cbuf);//向流中写字符数组cbufout.write(Strings);//向流中写一个字符串(很实用)out.flush();//将缓冲区中数据立即写入到输出流,刷新缓冲区out.close();//关闭流注:字符流一次处理一个字符,底层仍然是基本的字节序列;字符流操作的是文本文件2、字符流的基本实现1)InputStreamReader/OutputStreamWriter--Inpu

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。