日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

复制一个文件夹中的所有文件和文件夹的java程序实现

發(fā)布時(shí)間:2023/12/9 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 复制一个文件夹中的所有文件和文件夹的java程序实现 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

使用java程序?qū)崿F(xiàn)了對文件夾的復(fù)制功能:

?package demo.io;

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStream;
import java.io.Reader;
import java.util.Date;

public class TestIo {
?public static float length = 0;?
?s?public ?void isFile(File f ,String dir) throws IOException{ //使用遞歸的方法遍歷該目錄下的所有文件和文件夾
??File[] farry = f.listFiles(); //得到該文件夾下的所有目錄和文件
??for(int i=0;i<farry.length;i++){
???String fileName = farry[i].getName();
???String filePath = farry[i].getPath();
???String path = changPath(filePath);?? //將路徑中的\替換為/
???String newPath = newPath(path, dir);?? //建立目標(biāo)文件路徑
???if(farry[i].isDirectory()){? //判斷是否是目錄文件
????boolean b = createFile(newPath);? //創(chuàng)建與該文件夾同名的目標(biāo)文件中的文件夾 創(chuàng)建成功返回true失敗返回false
????System.out.println(fileName);
????? ?System.out.println(filePath);
????? ?System.out.println(newPath);
????? ?System.out.println(b);
????System.out.println("目錄名:"+farry[i].getName() +" : 路徑: "+farry[i].getPath());? //打印該目錄的名稱和路徑
????isFile(farry[i],dir);??????? //遞歸調(diào)用該方法
???}else{? //如果不是目錄文件復(fù)制該文件到指定的路徑上
????copyFile(path, newPath); //將該文件復(fù)制到目標(biāo)文件夾中
????totalLength(farry[i].length()/1024);
????System.out.println("文件名:"+farry[i].getName()+" :路徑: "+farry[i].getPath()+" : 文件大小:"+farry[i].length()/1024+"KB");
???}
???
???
??}
??
?}
?
?public String changPath(String path){? //修改路徑
??path = path.replace("\\","/");
??return path;
?}
?public String newPath(String path,String dir){? //創(chuàng)建新的目錄地址
??String newPath = path.substring(path.indexOf(":")+1);
??newPath = dir+newPath;
??return newPath;
?}
?public boolean createFile(String path) throws IOException{?? //創(chuàng)建文件夾
??File f = new File(path);
??boolean flag = false;
??//?f.createNewFile();
??flag = ?f.mkdir();
??if(f.isDirectory()){
???flag = true;
??}
??return flag;
?}
?public void copyFile(String inPath,String outPath){ //復(fù)制文件夾中的文件到目標(biāo)文件夾
??try {
???BufferedReader br = new BufferedReader(new FileReader(inPath));
???BufferedWriter bw = new BufferedWriter(new FileWriter(outPath));
???String len = br.readLine();
???while (len != null) {
????bw.write(len);
????len = br.readLine();
???}
???br.close();? //關(guān)閉輸入流
???bw.close();? //關(guān)閉輸出流
??} catch (FileNotFoundException e) {
???// TODO Auto-generated catch block
???e.printStackTrace();
??} catch (IOException e) {
???// TODO Auto-generated catch block
???e.printStackTrace();
??}
?}
?public void firstCopy(File f, String dir){? //在復(fù)制之前建立目標(biāo)文件夾中的根目錄 如果該文件不是文件夾則直接復(fù)制該文件
??String path = f.getPath();
??path = changPath(path);
??String newPath = newPath(path, dir);
??if(f.isDirectory()){
???try {
????boolean flag = createFile(newPath);
????isFile(f,dir); //遍歷該文件夾
???} catch (IOException e) {
????// TODO Auto-generated catch block
????System.out.println("路徑不正確");
????e.printStackTrace();
???}
??}else{ //不是文件夾則直接復(fù)制該文件
???copyFile(path, newPath);
??}
??
?}
?public float totalLength(float f){ //計(jì)算該文件夾中所有文件的總長度
??length = length+f;
??return length;
?};
?public static void main(String[] args) throws IOException {
?
??TestIo t = new TestIo();
??Date date = new Date();
??long start = 0;
??long end = 0;
??start = date.getTime();
???? File f = new File("F:/11");? //需要拷貝的文件或文件夾路徑
???? t.firstCopy(f, "E:/22");???????? //目標(biāo)路徑
???? Date d2 = new Date();
???? end = d2.getTime();
???? System.err.println("總用時(shí)為:"+(end-start));
???? System.err.println("復(fù)制文件的總大小為:"+length/1024+" MB");
??? // t.doCopy2();
?}

}

遍歷是使用遞歸實(shí)現(xiàn)

注釋寫的挺詳細(xì)的,相信大家直接看注釋也看以看的差不多,如果有什么疑問可以隨時(shí)提出,方便大家一起交流。

轉(zhuǎn)載于:https://www.cnblogs.com/vTree/archive/2011/08/12/2136157.html

總結(jié)

以上是生活随笔為你收集整理的复制一个文件夹中的所有文件和文件夹的java程序实现的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产午夜精品一区二区三区欧美 | 欧美天天色 | 欧美性教育视频 | 中文字幕日韩精品无码内射 | 麻豆精品国产传媒mv男同 | 女人18片毛片60分钟 | 久久久久久久久久久99 | 黄色69视频 | 99国产视频在线 | 玖玖在线观看 | 911香蕉视频 | 欧美乱仑 | 日韩精品视频在线观看免费 | 久久久免费高清视频 | 国产成人精品视频ⅴa片软件竹菊 | 一级黄色影院 | 国产夫妻自拍小视频 | 国产区第一页 | 中文字幕一区二区在线老色批影视 | 丝袜制服一区 | 人妻夜夜爽天天爽三区麻豆av网站 | 自拍偷拍亚洲天堂 | 黄频在线观看 | 国产精品视频无码 | 亚洲精品wwww | 91视频最新入口 | 黄色一级免费观看 | 乌克兰少妇性做爰 | 蜜桃精品视频 | 国产精品久久毛片av大全日韩 | 成人国产精品入口 | 中国av片| 精品久久久av| 国产影音先锋 | 日韩字幕在线 | 黑人极品ⅴideos精品欧美棵 | 久久av资源 | 尤物在线视频观看 | 亚洲欧美日韩精品在线 | 黄色工厂这里只有精品 | 丰满少妇xoxoxo视频 | 男人天堂网在线 | 成人免费影片 | 久久成人福利视频 | 国产精品免费久久久 | 亚洲精品社区 | 精品福利一区二区三区 | 国产又大又黄又爽 | 无码久久av一区二区三区 | 国产精品污www在线观看 | 国产高清视频在线 | 午夜精品免费观看 | 日韩欧美视频免费在线观看 | 99在线看 | 久久草网站 | 国产福利在线观看 | 国产精品一区在线 | 国产精品888 | 国产精品久久久久一区二区三区 | 99色影院| 永久黄网站 | 国产免费久久精品国产传媒 | 国产成人无码一区二区三区在线 | 在线午夜电影 | 国产精品分类 | 中日韩在线 | 国产精品ⅴa有声小说 | 色无极亚洲色图 | 国产精品视频成人 | 国产精品欧美激情 | 黄在线免费看 | 久久av无码精品人妻系列试探 | 中文字幕日韩欧美一区二区三区 | 欧美一级片网址 | 久久人人爽人人爽人人片亚洲 | 怡红院国产| 国产欧美一区二区三区白浆喷水 | 欧美亚洲视频在线观看 | 日韩免费黄色 | 超碰香蕉| 91l九色lporny | 黄色网址最新 | 网站在线播放 | 精品中文视频 | 毛片a区 | 亚洲国产精品无码久久久久高潮 | 国产在线不卡 | 日韩女同互慰一区二区 | 亚洲图片偷拍区 | 午夜色av| 黄色片在线免费 | 男女午夜视频在线观看 | 色乱码一区二区三区熟女 | 日噜 | 爆乳熟妇一区二区三区 | 国产欧美亚洲精品 | 亚洲午夜福利在线观看 | 国产一极片 | 三级在线网站 |