JAVA--IO流

来源:互联网 发布:正确对待网络流行语 编辑:程序博客网 时间:2024/05/23 21:12

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是EOFin.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流,按照编码处理
0 0