赞
踩
目录
IO流:
* 根据流的流向分类:
* Input:输入流
* Output:输出流
* 根据流操作的数据来分类
* 字符流: 操作字符
* 只能操作普通文本文件,
* 最常见的文本文件:.txt,.java,.c,.cpp等其他语言的源代码
* 只要用文本工具(记事本,notepad++,editplus) 可以打开的 ,而且打开后我们人类能看懂的 都是文本文件
* 注意:我们用的.doc,excel,ppt这些不是文本文件
*
* 字节流: 操作字节
* 能操作一切文件(文本文件,.mp3,视频.avi,.rmvb,mp4,doc,excel,ppt)
java中的四大流:
* 字符输入流:共同父类 Reader 比如:FileReader,BufferedReader
* 功能:读取一个字符,读取一个字符数组
*
* 字符输出流:共同的父类 Writer 比如:FileWriter BufferedWriter
* 功能:写一个字符,写一个字符数组(一部分),写一个字符串
*
* 字节输入流:共同父类 InputStream 比如:FileInputStream,BufferedInputStream
* 功能:读取一个字节,读取一个字节数组
*
* 字节输出流:共同父类 OutputStream 比如:FileOutputStream,BufferedOutputStream
* 功能:写一个字节,写一个字节数组(一部分)
FileInputStream:
* 读取数据方法: read
* public int read();
* 输入流标准代码
* int b = 0;
* while((b=fis.read())!=-1){
* syso((char)b);
* }
* public int read(byte[] bs);
* 输入流标准代码
* byte[] bs = new byte[1024];
* int len = 0;
* while((len=fis.read(bs))!=-1){
* String s = new String(bs,0,len);
* syso(s);
* }
FileOutputStream:方法名write
* public void write(int b)//一次写一个字节
* public void write(byte[] bs)//一次写一个字节数组
* public void write(byte[] bs,int startIndex,int len)//一次写一个字节数组的一部分ps:字符流和字节流用法类似,只是声明不同。
缓冲流: 相比较没有缓冲区的流,效率更高
* BufferedOutputStream 缓冲输出流
* 构造方法摘要
* public BufferedOutputStream(OutputStream out)* BufferedInputStream 缓冲输入流
* 构造方法摘要
* public BufferedInputStream(InputStream in)
1.阻塞与非阻塞。在以前的Java IO中,都是阻塞式IO,NIO引入了非阻塞式IO。
2.流与块。原来的 I/O 以流的方式处理数据(每次读一个字节/字符),而 NIO 以块的方式处理数据(每次读一个块)。
3.通道与流 。通道可以用于读、写或者同时用于读写;而流只是在一个方向上移动(一个流必须是 InputStream 或者 OutputStream 的子类)。
4.缓冲区Buffer 。在 NIO 库中,所有数据都是用缓冲区处理的。 (一定的缓冲区可以加快处理速度)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。