字?jǐn)?shù)有限制,只給你一個方法吧,大體思路就是遞歸調(diào)用的方式來實現(xiàn)
創(chuàng)新互聯(lián)建站一直秉承“誠信做人,踏實做事”的原則,不欺瞞客戶,是我們最起碼的底線! 以服務(wù)為基礎(chǔ),以質(zhì)量求生存,以技術(shù)求發(fā)展,成交一個客戶多一個朋友!為您提供做網(wǎng)站、網(wǎng)站設(shè)計、成都網(wǎng)頁設(shè)計、小程序定制開發(fā)、成都網(wǎng)站開發(fā)、成都網(wǎng)站制作、成都軟件開發(fā)、app軟件開發(fā)是成都本地專業(yè)的網(wǎng)站建設(shè)和網(wǎng)站設(shè)計公司,等你一起來見證!
/**
* 拷貝整個文件目錄
* @param source 源目錄、文件
* @param destination 目的目錄、文件
*/
public static void copyFiles(File source, File destination) {
if (!source.exists()) {
//Log.warn(source.getAbsolutePath() + " 源文件或源路徑不存在");
return;
}
if (destination.isFile()) {
//Log.warn(destination.getAbsolutePath() + " 目標(biāo)不應(yīng)該是文件, 應(yīng)該是路徑");
return;
}
else
destination.mkdirs();
//如果是文件
if (source.isFile()) {
try {
String filename = destination.getAbsolutePath() + File.separator + source.getName();
FileInputStream fis = new FileInputStream(source);
File file = new File(filename);
if (file.exists()) {
file.delete();
}
FileOutputStream fos = new FileOutputStream(file);
if(!StreamHelper.toOutputStream(fis, fos)) {
return;
}
fos.close();
fis.close();
Log.debug("復(fù)制 " + source.getAbsolutePath() + " 到 " + filename);
return;
}catch (IOException ex) {
Log.error(ex);
return;
}
}
//如果是目錄
else {
File[] files = source.listFiles();
for (int i = 0; i files.length; i++) {
if (files[i].isDirectory()) {
String path = destination.getAbsolutePath() + File.separator + files[i].getName();
File folder = new File(path);
copyFiles(files[i], folder);
}else {
copyFiles(files[i], destination);
}
}
}
}
借助工具包commons-io.jar
import java.io.File;
import java.io.IOException;
import org.apache.commons.io.FileUtils;
public class Admin {
public static void main(String[] args) {
File from = new File("d:/a");
File to = new File("d:/b");
try {
FileUtils.copyDirectory(from, to);
} catch (IOException e) {
e.printStackTrace();
}
}
}
Java代碼復(fù)制文件夾時,則需要利用Flie類在目標(biāo)文件夾中創(chuàng)建相應(yīng)的目錄,并且使用遞歸方法,代碼如下:
import?java.io.*;??
/**?
*?復(fù)制文件夾或文件夾?
*/??
public?class?CopyDirectory?{??
//?源文件夾???
static?String?url1?=?"F:/photos";??
//?目標(biāo)文件夾???
static?String?url2?=?"D:/tempPhotos";??
public?static?void?main(String?args[])?throws?IOException?{??
//?創(chuàng)建目標(biāo)文件夾???
(new?File(url2)).mkdirs();??
//?獲取源文件夾當(dāng)前下的文件或目錄???
File[]?file?=?(new?File(url1)).listFiles();??
for?(int?i?=?0;?i??file.length;?i++)?{??
if?(file[i].isFile())?{??
//?復(fù)制文件???
copyFile(file[i],new?File(url2+file[i].getName()));??
}??
if?(file[i].isDirectory())?{??
//?復(fù)制目錄???
String?sourceDir=url1+File.separator+file[i].getName();??
String?targetDir=url2+File.separator+file[i].getName();??
copyDirectiory(sourceDir,?targetDir);??
}??
}??
}??
//?復(fù)制文件???
public?static?void?copyFile(File?sourceFile,File?targetFile)???
throws?IOException{??
//?新建文件輸入流并對它進(jìn)行緩沖???
FileInputStream?input?=?new?FileInputStream(sourceFile);??
BufferedInputStream?inBuff=new?BufferedInputStream(input);??
//?新建文件輸出流并對它進(jìn)行緩沖???
FileOutputStream?output?=?new?FileOutputStream(targetFile);??
BufferedOutputStream?outBuff=new?BufferedOutputStream(output);??
//?緩沖數(shù)組???
byte[]?b?=?new?byte[1024?*?5];??
int?len;??
while?((len?=inBuff.read(b))?!=?-1)?{??
outBuff.write(b,?0,?len);??
}??
//?刷新此緩沖的輸出流???
outBuff.flush();??
//關(guān)閉流???
inBuff.close();??
outBuff.close();??
output.close();??
input.close();??
}??
//?復(fù)制文件夾???
public?static?void?copyDirectiory(String?sourceDir,?String?targetDir)??
throws?IOException?{??
//?新建目標(biāo)目錄???
(new?File(targetDir)).mkdirs();??
//?獲取源文件夾當(dāng)前下的文件或目錄???
File[]?file?=?(new?File(sourceDir)).listFiles();??
for?(int?i?=?0;?i??file.length;?i++)?{??
if?(file[i].isFile())?{??
//?源文件???
File?sourceFile=file[i];??
//?目標(biāo)文件???
File?targetFile=new?File(new?File(targetDir).getAbsolutePath()+File.separator+file[i].getName());??
copyFile(sourceFile,targetFile);??
}??
if?(file[i].isDirectory())?{??
//?準(zhǔn)備復(fù)制的源文件夾???
String?dir1=sourceDir?+?"/"?+?file[i].getName();??
//?準(zhǔn)備復(fù)制的目標(biāo)文件夾???
String?dir2=targetDir?+?"/"+?file[i].getName();??
copyDirectiory(dir1,?dir2);??
}??
}??
}??
}
1,直接拷貝覆蓋,不管是完整的帶項目配置文件的java源程序,還是不完整的或缺少配置文件的都可以。\x0d\x0a具體步驟:\x0d\x0a先在Eclipse中新建空的工程并且命好名,然后把舊工程的目錄里所有代碼文件目錄,直接拷貝覆到新建空的工程工程目錄下,然后在eclipse中右擊刷新就可以了。\x0d\x0a比如:新建工程名叫xxx,需要復(fù)制的工程文件名叫sss\x0d\x0a在本地磁盤打開xxx所在的文件,打開xxx目錄,然后把sss目錄下的所有文件復(fù)制到xxx目錄下就可以了。在eclipse中刷新,再導(dǎo)入需要的jar包就行了。\x0d\x0a\x0d\x0a2,對于完整的帶項目配置文件的java源碼,按步驟操作即可:\x0d\x0aFile-Import-General\x0d\x0a選擇ExistingProjectsintoWorkspace,選擇要導(dǎo)入的文件,點擊“finish",OK。\x0d\x0a\x0d\x0a3,對于不完整的工程(java程序源文件)或缺少工程配置文件的,\x0d\x0a先新建空的工程并且命好名\x0d\x0a然后File-Import-General\x0d\x0a選擇FileSystem,點擊“next”,F(xiàn)romdirectory選擇要導(dǎo)入的路徑,\x0d\x0a注意intoFolder要選擇剛剛建好的工程路徑,點擊“finish",OK。
分享名稱:java代碼目錄拷貝 java拷貝文件到另一個目錄下
文章源于:http://muchs.cn/article18/dohhpgp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站建設(shè)、做網(wǎng)站、網(wǎng)站內(nèi)鏈、網(wǎng)站排名、App開發(fā)、標(biāo)簽優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)