import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; public class CopyFile { public static void copyBytesFile(String sFileName,String dFileName) throws IOException{ //创建文件输入流对象和文件输出流对象 //文件输入流对象与源文件进行关联 FileInputStream fis = new FileInputStream(sFileName); //文件输出流对象与拷贝文件进行关联 FileOutputStream fos = new FileOutputStream(dFileName); //循环读取文件的内容同时写出到外部的磁盘文件 byte[] b = new byte[1024]; /*从关联的源文件中多读个字节,保存到字节数组b中,如果到达文件末, * 返回值为1,否则返回值为实际到的字节数 */ int read =fis.read(b); while(read!=-1){ fos.write(b);//向关联的目标文件写出一个字节 read=fis.read(b); } //清空缓存,关闭流对象 fis.close(); fos.close(); } /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub long t1,t2; t1= System.currentTimeMillis(); try { CopyFile.copyBytesFile("a.jpg","temp.jpg"); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } t2= System.currentTimeMillis(); System.out.println("用时:"+(t2-t1)); } }