例如:把C:WindowsSysWOW64下的所有dll文件拷贝到C:UsersAdministratorDesktop64dll这个目录
1 packagecom.xiaostudy.copyFile; 2 3 importjava.io.File; 4 importjava.io.FileInputStream; 5 importjava.io.FileOutputStream; 6 importjava.io.IOException; 7 importjava.util.Scanner; 8 9 public classCopyFile { 10 11 /** 12 * @paramargs 13 */ 14 public static voidmain(String[] args) { 15 Scanner scanner = newScanner(System.in); 16 System.out.print("请输入复制的文件夹路径:"); 17 String inFiles = scanner.next();//String inFile = "C:\Windows\SysWOW64"; 18 System.out.print("请输入拷贝到的文件夹路径:"); 19 String outFiles = scanner.next();//String outFile = "C:\Users\Administrator\Desktop\64dll"; 20 System.out.print("请输入要复制文件类型,比如说txt文件,就输入:txt 请输入:"); 21 String type =scanner.next(); 22 23 FileInputStream fis = null; 24 FileOutputStream fos = null; 25 try{ 26 File outFiled = newFile(outFiles); 27 if (!outFiled.exists()) { 28 outFiled.mkdirs(); 29 } 30 31 File files = newFile(inFiles); 32 33 if(files.exists()) { 34 File[] listFiles =files.listFiles(); 35 if (listFiles != null && listFiles.length > 0) { 36 for(File file : listFiles) { 37 String fileName =file.getName(); 38 String[] str = fileName.split("\."); 39 if (str[str.length-1].equals(type)) { 40 fis = newFileInputStream(file); 41 fos = new FileOutputStream(newFile(outFiled, fileName)); 42 byte[] buf = new byte[1024]; 43 intbytesRead; 44 while ((bytesRead = fis.read(buf)) > 0) { 45 fos.write(buf, 0, bytesRead); 46 47 } 48 } 49 } 50 } 51 52 } 53 } catch(IOException e) { 54 e.printStackTrace(); 55 } finally {//关闭资源 56 if(fos != null) { 57 try{ 58 fos.close(); 59 } catch(IOException e) { 60 e.printStackTrace(); 61 } 62 } 63 if(fis != null) { 64 try{ 65 fis.close(); 66 } catch(IOException e) { 67 e.printStackTrace(); 68 } 69 } 70 } 71 } 72 73 }