您的位置:首页 > 编程语言 > Java开发

JAVA--IO流

2015-10-11 14:51 218 查看

JAVAIO流(输入流,输出流)

标签(空格分隔): 未分类java io

1.字节流

1).InputStream、OutputStream

InputStream抽象了应用程序读取数据的方式

OutputStream抽象了应用程序写出数据的方式

2).EOF = End读取-1,就读到了结尾

3).输入流基本方法

4)输出流基本方法

5)FileInputstream —> 具体实现了在文件上读取数据

6)FileOutputStream —> 实现向文件中写出byte数据的方法

7)DateInputStream/DateOutputStream

对“流”功能的扩展,可以更加方便的读取int, long,字符类型等的数据

8)BufferedInputStream/BufferedOutputStream

这两个流类为IO提供了带缓冲区的操作,一般打开文件进行写入或读取操作时,都会加上缓冲,这种流模式提高了性能。

从应用程序中把输入放入文件,相当于把一缸水倒到另一缸水中;

FileOutputStream —> write()方法想当与把水一滴一滴地“转移”过去

DataOutputStream —> writeXxx()放法想到于把水一瓢一瓢放入桶中,在从桶中倒入到另一个桶中。

@ 3)输入流基本方法
int b = in.read();//读取一个字节 无符号填充到int低八位.-1是EOF
in.read(byte[] buf);
in.read(byte[] buf, int start, int size);


@ 4)输出流基本方法
out.write(int b);//写出一个byte到流,b的低八位
out.write(byte[] buf)//将buf字节数组写入到流中
out.write(byte[] buf, int start, int size)


@ 7)DateOutputStream
writeInt/writeDouble/writeLong/writeUTF


2.字符流

1)编码问题

2)认识文本和文本文件

java的文本(char)是16位无符号整型数,是字符的unicode编码(双字节编码) 文本是byter,byte,byte…的数据序列

文本文件是文本(char)序列按照某种编码方案(utf-8,utf-16be,gbk)序列化为byte的存储方式。

3)字符流(Writer/Reader)—>操作的是文本文件

字符的处理,一次处理一个字符。

字符的底层仍然是基本的字节序列

字符流的基本实现

InputStreamReader 完成byte流解析为char流,按照编码解析

OutputStreamWriter 提供char流到byte流,按照编码处理
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: