------- android培训、java培训、期待与您交流! ----------
一:
1.IO流用来处理设备之间的数据传输。
计算机中有很多设备,如硬盘,内存等等,硬盘中的文件,内存中数据的输入输出,在Java中我们把它叫做IO流。
2.Java对数据的操作方式是通过流的形式。
计算机设备中数据的输入输出,在Java中是通过流来操作的。
3.Java用于操作流的对象都在IO包中。
4.流按操作数据分为两种:字节流与字符流。根据老师的建议我开始自学下载下来的
字节流是由字节组成的,所有的InputStream和OutputStream的子类都是,用在处理二进制数据,主要用来处理图片,它的基类是InputStream,OutputStream.
字符流是按虚拟机的encode来处理,也就是要进行字符集的转换,主要用来处理文字,它的基类是Reader,Writer。
5.流按流向分为:输入流,输出流。
二:
1.字符流类Writer中的方法:write:将字符串写入到流中。flush:将数据刷新到目的地中。close:关闭流。
2.try....catch():IO异常处理。
3.文本文件的两种读取方式:1.字符读取。2.字符数组读取
三:
1.BufferedWriter:将文本写入字符输出流并缓冲字符以便能提供单字符、数组和行的高效写入。
BufferedReader:缓冲字符输入流。
2.通过缓冲区复制文本文件(代码演示):
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
public class CopyTextByBuf {
public static void main(String[] args) {
BufferedReader bufr=null;
BufferedWriter bufw=null;
try {
//创建一个要读取的文件的流
bufr=new BufferedReader(new FileReader("D:\\新建文件夹\\IOtest\\src\\CopyTextByBuf.java"));
//创建一个要存放读取的流的文件
bufw=new BufferedWriter(new FileWriter("se.txt"));
String line=null;//两个流之间的中转站
while((line=bufr.readLine())!=null)
{
bufw.newLine();//读取一个文本行
bufw.write(line);
bufw.flush();
}
} catch (Exception e) {
throw new RuntimeException("读入失败");
}
finally{
try {
if(bufr!=null)
bufr.close();
} catch (IOException e) {
throw new RuntimeException("读取关闭失败");
}
try {
if(bufw!=null)
bufw.close();
} catch (IOException e) {
throw new RuntimeException("写入关闭失败");
}
}
}
}