io流是非常重要的内容,其中的重中之重就是读取和输出。我在这里总结了几个公式,只要往里套就能
很快写出转换流。首先介绍几个重要的类。
字节输入InputStream
字节输出OutputStream
字节输入缓冲区BufferedInputStream
字节输出缓冲区BufferedOutputStream
他的子类FileInputStream
他的子类FileOutputStream
键盘输入System.in
屏幕输出System.out
字符输入FileReader
字符输出Filewriter
字符输入缓冲区BufferedReader
字符输出缓冲区BufferedWriter
字节专字符InputStreamReader
字符专字节OutputStreamWriter
图是我自己用画图工具花的,在创建对象时可以根据此图来创建,图中对应了1,2,3,4,5,6,6个数字,每个数字代表了一个写法一种情况,因为我们大部分处理的是大数据,并非处理一行或几个字,所以需要引入高效率的缓冲流。因为流有个方法可以一次处理一行。而且只有字符缓冲流可以有此方法。废话不多说我俩解释这6个数字所代表的含义。
源有两种,一种是字节一种是字符字节分两种情况:1键盘如入,2,来自文件,所以
1:代表源是字节来自文件像音乐图片等
2:代表源是字节来自键盘录入。
3:代表源是字符来自文件。
4:代表目的是字节去往文件像音乐图片等
5:代表目的是字节去往屏幕输出。
6:代表目的是字符去往文件。
举个例子,把一个图片拷贝到别一个图片我们创建对象时应该选择1,4因为源和目的都是字节。代码为
BufferedReader bufr = new BufferedReader(new InputStreamReader(FileInputStream("d.jpg")));
BufferedWriter bufw = new BufferedWriter(new OutputStreamWriter(FileOutputStream("a.jpg")));
再举个例子把一个文本打印到屏幕,是把字符到字节代码为
BufferedReader bufr = new BufferedReader(new FileReader(a.txt));
BufferedWriter bufw = new BufferedWriter(new OutputStreamWriter(System.out));
剩下的就按毕老师的步骤来,
String line;
while ((line=br.readLine())!=null)
{
bw.write(line);
bw.newLine();
bw.flush();
}
br.close();
bw.close();
异常我就不再这演示了。希望次图对新手有用。 |