IO流的分类
①根据处理数据类型不同分为:字符流和字节流。
字节流与字符流的区别:
1.字节流以字节为单位。字符流以字符为单位,一次可读取多个字节。
2.字节流能处理所有类型的数据,而字符流只能处理字符类型的数据
②根据数据流向不同分为:输入流和输出流。
输入流与输出流的区别:
输入流只能进行读操作,而输出流只能进行写操作。
Reader 是所有的输入字符流的父类,它是一个抽象类。
主要的方法:
read() 读取一个字符;
close()关闭流对象;
Writer 是所有的输出字符流的父类,它是一个抽象类。
主要的方法是:
close() 关闭输出流
write() 将数据写入到输输出流中。
InputStream 是所有的输入字节流的父类,它是一个抽象类。
常用方法:
available() 获取输入流的大小。
close();关闭输入流。
read();读取输入流 。
OutputStream 是所有的输出字节流的父类,它是一个抽象类。
close(); 关闭此输出流并释放与此流有关的所有系统资源。
flush();刷新此输出流并强制写出所有缓冲的输出字节。
write(byte[] b) 将 b.length 个字节从指定的 byte 数组写入此输出流。
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
FileReader fr=new FileReader("D:\\io0803\\zuoye.txt");
FileWriter fw=new FileWriter("D:\\io0803\\a\\zuoye.txt");
Date ks=new Date();
int len=0;
while((len=fr.read())!=-1){
fw.write(len);
fw.flush();
}
Date js=new Date();
System.out.println(js.getTime()-ks.getTime());
fr.close();
fw.close();
}
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
FileReader fr=new FileReader("D:\\io0803\\zuoye.txt");
FileWriter fw=new FileWriter("D:\\io0803\\a\\zuoye2.txt");
Date ks=new Date();
char[] ch=new char[1024];
int len=0;
while((len=fr.read(ch))!=-1){
fw.write(ch, 0, len);
fw.flush();
}
Date js=new Date();
System.out.println(js.getTime()-ks.getTime());
fr.close();
fw.close();
}