java I/O流

复制mp3、复制文件夹下所有文件的思路

 /** 
    * 复制整个目录的内容 
    *  
    * @param srcDirName 
    *            待复制目录的目录名 
    * @param destDirName 
    *            目标目录名 
    * @param overlay 
    *            如果目标目录存在,是否覆盖 
    * @return 如果复制成功返回true,否则返回false 
    */  
   public static boolean copyDirectory(String srcDirName, String destDirName,  
           boolean overlay) {  
       // 判断源目录是否存在  
       File srcDir = new File(srcDirName);  
       if (!srcDir.exists()) {  
           MESSAGE = "复制目录失败:源目录" + srcDirName + "不存在!";  
           JOptionPane.showMessageDialog(null, MESSAGE);  
           return false;  
       } else if (!srcDir.isDirectory()) {  
           MESSAGE = "复制目录失败:" + srcDirName + "不是目录!";  
           JOptionPane.showMessageDialog(null, MESSAGE);  
           return false;  
       }  
 
       // 如果目标目录名不是以文件分隔符结尾,则加上文件分隔符  
       if (!destDirName.endsWith(File.separator)) {  
           destDirName = destDirName + File.separator;  
       }  
       File destDir = new File(destDirName);  
       // 如果目标文件夹存在  
       if (destDir.exists()) {  
           // 如果允许覆盖则删除已存在的目标目录  
           if (overlay) {  
               new File(destDirName).delete();  
           } else {  
               MESSAGE = "复制目录失败:目的目录" + destDirName + "已存在!";  
               JOptionPane.showMessageDialog(null, MESSAGE);  
               return false;  
           }  
       } else {  
           // 创建目的目录  
           System.out.println("目的目录不存在,准备创建。。。");  
           if (!destDir.mkdirs()) {  
               System.out.println("复制目录失败:创建目的目录失败!");  
               return false;  
           }  
       }  
 
       boolean flag = true;  
       File[] files = srcDir.listFiles();  
       for (int i = 0; i < files.length; i++) {  
           // 复制文件  
           if (files[i].isFile()) {  
               flag = CopyFileUtil.copyFile(files[i].getAbsolutePath(),  
                       destDirName + files[i].getName(), overlay);  
               if (!flag)  
                   break;  
           } else if (files[i].isDirectory()) {  
               flag = CopyFileUtil.copyDirectory(files[i].getAbsolutePath(),  
                       destDirName + files[i].getName(), overlay);  
               if (!flag)  
                   break;  
           }  
       }  
       if (!flag) {  
           MESSAGE = "复制目录" + srcDirName + "至" + destDirName + "失败!";  
           JOptionPane.showMessageDialog(null, MESSAGE);  
           return false;  
       } else {  
           return true;  
       }  
   }

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-07-14
先读出源地址的文件,再写到指定目录就行了
相似回答