注意:先读(FileInputStream)后写(FileOutputStream)
字节流复制文件代码:
/* 字节流复制文件*/ public class CopyArr { public static void main(String[] args) { long s = System.currentTimeMillis(); // FileInputStream fis =null; FileOutputStream fos=null; try { fis = new FileInputStream("c:\liu.mp4"); fos = new FileOutputStream("d:\liu.mp4"); // 定义字节数组 byte[] b = new byte[1024*10]; // 读取操作 int len = 0; while((len=fis.read(b))!=-1){ fos.write(b,0,len); } } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); }finally{ try { if(fos!=null){ fos.close(); } } catch (Exception e2) { throw new RuntimeException("释放资源失败"); }finally{ if(fis!=null){ try { fis.close(); } catch (IOException e) { // TODO Auto-generated catch block throw new RuntimeException("释放资源失败"); } } } } long e = System.currentTimeMillis(); System.out.println(e-s); } }
字符流复制文件代码:
/*字符流复制文件*/ public class Copy { public static void main(String[] args) { FileReader fileReader=null; FileWriter file=null; try { fileReader = new FileReader("C:\1.txt"); file = new FileWriter("d:\1.txt"); //定义字符数组 char[] c = new char[1024]; //读取操作 int len = 0; while((len=fileReader.read(c))!=-1){ file.write(c, 0, len); file.flush(); } } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); }finally{ if(file!=null){ try { file.close(); } catch (IOException e) { // TODO Auto-generated catch block throw new RuntimeException("关闭失败"); }finally{ if(fileReader!=null){ try { fileReader.close(); } catch (IOException e) { // TODO Auto-generated catch block throw new RuntimeException("关闭失败"); } } } } } } }