Java io流---拷贝文件夹下的所有文件和目录
生活随笔
收集整理的這篇文章主要介紹了
Java io流---拷贝文件夹下的所有文件和目录
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Java io流—拷貝文件夾下的所有文件和目錄
代碼:
package demo01;import java.io.*; import java.util.TreeMap;public class CopyAll {public static void main(String[] args) {//拷貝源File srcFile = new File("E:\\學習\\a");//拷貝目標File destFile = new File("C:\\Users\\22721\\Desktop");//調用copyDri方法copyDri(srcFile,destFile);}/*** 拷貝目錄* @param srcFile 拷貝源* @param destFile 拷貝目標*/private static void copyDri(File srcFile, File destFile) {if (srcFile.isFile()){//src.File//是文件就拷貝,且邊讀邊寫FileInputStream in = null;FileOutputStream out = null;File file;try {//讀srcFile這個文件in = new FileInputStream(srcFile);String path = destFile.getAbsolutePath() + srcFile.getAbsolutePath().substring(2);out = new FileOutputStream(path);//一邊讀一邊寫//一次性復制1mbyte[] bytes = new byte[1024*1024];int readCount = 0;while ((readCount= in.read(bytes))!=-1){out.write(bytes,0, readCount);}out.flush();} catch (FileNotFoundException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}finally {if (out!=null){try {out.close();} catch (IOException e) {e.printStackTrace();}}if (in!=null){try {in.close();} catch (IOException e) {e.printStackTrace();}}}//srcFile如果是一個文件,結束遞歸return;}//獲取源下面的子目錄(拿到當前文件夾srcFile下的子文件)File[] files = srcFile.listFiles();//代碼測試(寫一點測試一點)//System.out.println(files.length);for (File file:files) {//獲取所有文件的絕對路徑(包括目錄和文件)//System.out.println(file.getAbsolutePath());//這個file可能是文件或者目錄//if (file.isDirectory()){//System.out.println(file.getAbsolutePath());String srcDri = file.getAbsolutePath();//獲取原目標路徑,去掉前兩位(E:\\學習\\a)---->(\\學習\a)//System.out.println(srcDri.substring(2));String destDri = destFile.getAbsolutePath() + srcDri.substring(2);File newFile = new File(destDri);//如果newFile不存在,則新建if (!newFile.exists()){newFile.mkdirs();}//測試輸出文件路徑//System.out.println(destDri);}copyDri(file,destFile);}}}運行結果:
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-mheHUHjk-1632819036120)(https://i.loli.net/2021/09/28/VZvYoL4k8TnO7Mr.png)]
運行后文件被拷貝到桌面(目標文件夾):
總結
以上是生活随笔為你收集整理的Java io流---拷贝文件夹下的所有文件和目录的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mybatis返回map键值对_myba
- 下一篇: python 散点图 不同颜色_pyth