黑马程序员技术交流社区

标题: 使用带缓冲功能的字节流复制文件 [打印本页]

作者: 小悠久    时间: 2014-1-3 20:40
标题: 使用带缓冲功能的字节流复制文件
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

public class Test8 {
/**
  * @param args
  */
private static BufferedOutputStream outputStream=null;
private static BufferedInputStream inputStream=null;
static int id=0;
public static void main(String[] args) {
  try {
   //创建一个复制文件的路径的文件对象
   File copyfile=new File("D:\\image\\w.jpg");
   //保存文件的文件对象
   File saveFile=new File("D:\\img");
   //判断要复制的文件是否存在
   if(!copyfile.exists())
   {
    System.out.println("文件不存在!");
   }else
   {
    //判断保存的目录是否存在
    if(!saveFile.exists())
    {
     //创建目录
     saveFile.mkdirs();
    }
   
    //创建保存文件的文件对象
    File f=new File(saveFile.getAbsoluteFile()+"\\a.jpg");
    //创建一个保存文件,并且带有缓冲区的输出流对象
    outputStream=new BufferedOutputStream(new FileOutputStream(f));
    //创建一个读取文件,并且带有缓冲区的输入流对象
    inputStream=new BufferedInputStream(new FileInputStream(copyfile));
   }
   
   //保存文件
   Save(inputStream);
   
  } catch (Exception e) {
   e.printStackTrace();
  }
}


public static void Save(BufferedInputStream inputstream) throws Exception
{
  int len=0;
  byte[] buffer=new byte[1024];
  //读取文件内容
  while((len=inputstream.read(buffer))!=-1)
  {
   //写入到文件中
   outputStream.write(buffer, 0, len);
  }
  System.out.println("复制成功");
}
}






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2