------- android培训、java培训、期待与您交流! ----------
一 IO流的三种分类方式
1.按流的方向可分为:输入流和输出流
2.按流的数据单位不同分为:字节流和字符流
3.按流的功能不同分为:节点流和处理流
二 IO流的四大抽象类:
字符流: Reader Writer
字节流: InputStream outputStream
三 InputStream的基本方法
int read() throws IOException 读取一个字节以整数形式返回,如果返回-1则已到输入流的末尾,
void close() 关闭流释放内存资源.
long skip (long n) 跳过n个字节不读.
四 OutputStream 的基本方法
void write(int b) 向输出流写入一个字节数据
void flush( ) 将输出流中缓冲的数据全部写出到目的地
五 Writer的基本方法
void write(int c) 想输出流吸入一个字符数据
void write(String str) 将一个字符串中的字符写入到输入流
void write(String str,int offset,int length) 将一个字符串从offset开始的length个字符写入到输出流
void flush ( ) 将输出流中缓冲的数据全部写出到目的地
六 Reader 的基本方法
int read( ) 读取一个字符以整数形式返回如果返回-1则代表已到输入流的末尾
七 访问文件
FileInputStream和FileOutputStream继承基类用于向文件中输入输出字节
FileReader和FileWriter继承基类用于向文件中输入输出字符
八 缓冲流
BufferedReader:提供了readLine方法用于高效读取一行字符串
BufferedWriter:提供了newLine用于写入一个行分隔符 也就是换行
BufferedInputStream:是一个带有缓冲区域的InputStream
BufferedOutputStream:是一个带有缓冲区的OutputStream
九 转换流:主要作用将字节流转换成字符流
转换流在构造时可以指定其编码集合
编码
InputStreamReader需要和InputStream套接
OutputStreamWriter需要和OutputStream套接
例:OutputStreamWriter osw = new OutputStreamWriter (new FileOutputStream(文件路径))
方法例:osw.getEncoding();获得流的编码方式
例子:
import java.io.*;
class IoDemo
{
public static void main(String[] args) throws IOException
{
//获取键盘录入对象。
//将字节流对象转成字符流对象,使用转换流。InputStreamReader
//为了提高效率,将字符串进行缓冲区技术高效操作。使用BufferedReader
//键盘的最常见写法。
BufferedReader bufr = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bufw = new BufferedWriter(new OutputStreamWriter(System.out));
String line = null;
while((line=bufr.readLine())!=null)
{
if("over".equals(line))
break;
bufw.write(line.toUpperCase());
bufw.newLine();
bufw.flush();
}
bufr.close();
}