BufferedInputStream和BufferedOutputStream应用实例
使用BufferedInputStream和BufferedOutputStream复制BuffferedStreamDemo.java的内容至BufferedStreamDemo.txt文件并显示输出
import java.io. * ;
public class BufferedStreamDemo {
public static void main(String[] args){
try{
byte[] data=new byte[1];
File srcFile=new File("BufferedStreamDemo.java");
File desFile=new File("BufferedStreamDemo.txt");
BufferedInputStream bufferedInputStream=new BufferedInputStream(new FileInputStream(srcFile));
BufferedOutputStream bufferedOutputStream=new BufferedOutputStream(new FileOutputStream(desFile));
System.out.println("复制文件: "+srcFile.length()+"字节");
while(bufferedInputStream.read(data)!=-1){
bufferedOutputStream.write(data);
}
//将缓冲区中的数据全部写出
bufferedOutputStream.flush();
System.out.println("复制完成");
//显示输出BufferedStreamDemo.txt文件的内容
bufferedInputStream =new BufferedInputStream(new FileInputStream(new File("BufferedStreamDemo.txt")));
while(bufferedInputStream.read(data)!=-1){
String str=new String(data);
System.out.print(str);
}
bufferedInputStream.close();
bufferedOutputStream.close();
}catch(ArrayIndexOutOfBoundsException e){
System.out.println("using: java useFileStream src des");
e.printStackTrace();
}catch(IOException e){
e.printStackTrace();
}
}
}
输出结果如下:
复制文件: 1290字节
复制完成
package sky;
import java.io.*;
public class BufferedStreamDemo{
public static void main(String[] args){
try{
byte[] data=new byte[1];
File srcFile=new File("BufferedStreamDemo.java");
File desFile=new File("BufferedStreamDemo.txt");
BufferedInputStream bufferedInputStream=new BufferedInpu
tStream(new FileInputStream(srcFile));
BufferedOutputStream bufferedOutputStream=new BufferedOu
tputStream(new FileOutputStream(desFile));
System.out.println("????????: "+srcFile.length()+"????")
;
while(bufferedInputStream.read(data)!=-1){
bufferedOutputStream.write(data);
}
//????????????????????????
bufferedOutputStream.flush();
System.out.println("????????");
//????????BufferedStreamDemo.txt??????????
bufferedInputStream =new BufferedInputStream(new FileInp
utStream(new File("BufferedStreamDemo.txt")));
while(bufferedInputStream.read(data)!=-1){
String str=new String(data);
System.out.print(str);
}
bufferedInputStream.close();
bufferedOutputStream.close();
}catch(ArrayIndexOutOfBoundsException e){
System.out.println("using: java useFileStream src des");
e.printStackTrace();
}catch(IOException e){
e.printStackTrace();
}
}
}Press any key to continue...