copyFile(File srcFile,File destFile)throws IOException{ 2 if(!srcFile.exists()){ IllegalArgumentException("文件:"+srcFile+"不存在"); 4 } 5 if(!srcFile.isFile()){ IllegalArgumentException(srcFile+"不是一个文件"); 7 } 8 FileInputStream in =new FileInputStream(srcFile); 9 FileOutputStream out =new FileOutputStream(destFile); [] buf=new byte[8*1024]; 12 int b; 13 while((b=in.read(buf, 0, buf.length))!=-1){ 14 out.write(buf, 0, b); } 17 in.close(); 18 out.close(); 19 }
测试文件案例:
try { IOUtil.copyFile(new File("C:\\Users\\acer\\workspace\\encode\\new4\\test1"), new File("C:\\Users\\acer\\workspace\\encode\\new4\\test2")); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } }
运行结果:
复制成功!
四、DataInputStream和DataOutputStream的使用DataInputStream、DataOutputStream 是对“流”功能的扩展,可以更加方便地读取int,long。字符等类型的数据。
对于DataOutputStream而言,它多了一些方法,如
writeInt()/wirteDouble()/writeUTF()
这些方法其本质都是通过write()方法来完成的,这些方法都是经过包装,方便我们的使用而来的。
1.构造方法
以DataOutputStream为例,构造方法内的对象是OutputStream类型的对象,我们可以通过构造FileOutputStream对象来使用。
1 String file="demo/data.txt"; 2 DataOutputStream dos= new DataOutputStream(new FileOutputStream(file));
2.write方法使用