java代碼目錄拷貝 java拷貝文件到另一個目錄下

java 如何拷貝整個目錄,類似xcopy

字?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);

}

}

}

}

怎樣用Java復(fù)制文件到指定目錄? 在線等,急?。。?!

借助工具包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ù)制文件夾

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);??

}??

}??

}??

}

怎樣導(dǎo)入Java源程序?

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)

網(wǎng)站托管運營