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

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

字數有限制,只給你一個方法吧,大體思路就是遞歸調用的方式來實現

創(chuàng)新互聯(lián)建站一直秉承“誠信做人,踏實做事”的原則,不欺瞞客戶,是我們最起碼的底線! 以服務為基礎,以質量求生存,以技術求發(fā)展,成交一個客戶多一個朋友!為您提供做網站、網站設計、成都網頁設計、小程序定制開發(fā)、成都網站開發(fā)、成都網站制作、成都軟件開發(fā)、app軟件開發(fā)是成都本地專業(yè)的網站建設和網站設計公司,等你一起來見證!

/**

* 拷貝整個文件目錄

* @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() + " 目標不應該是文件, 應該是路徑");

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("復制 " + 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復制文件到指定目錄? 在線等,急?。。。?/h2>

借助工具包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代碼拷貝文件夾 注:復制文件夾

Java代碼復制文件夾時,則需要利用Flie類在目標文件夾中創(chuàng)建相應的目錄,并且使用遞歸方法,代碼如下:

import?java.io.*;??

/**?

*?復制文件夾或文件夾?

*/??

public?class?CopyDirectory?{??

//?源文件夾???

static?String?url1?=?"F:/photos";??

//?目標文件夾???

static?String?url2?=?"D:/tempPhotos";??

public?static?void?main(String?args[])?throws?IOException?{??

//?創(chuàng)建目標文件夾???

(new?File(url2)).mkdirs();??

//?獲取源文件夾當前下的文件或目錄???

File[]?file?=?(new?File(url1)).listFiles();??

for?(int?i?=?0;?i??file.length;?i++)?{??

if?(file[i].isFile())?{??

//?復制文件???

copyFile(file[i],new?File(url2+file[i].getName()));??

}??

if?(file[i].isDirectory())?{??

//?復制目錄???

String?sourceDir=url1+File.separator+file[i].getName();??

String?targetDir=url2+File.separator+file[i].getName();??

copyDirectiory(sourceDir,?targetDir);??

}??

}??

}??

//?復制文件???

public?static?void?copyFile(File?sourceFile,File?targetFile)???

throws?IOException{??

//?新建文件輸入流并對它進行緩沖???

FileInputStream?input?=?new?FileInputStream(sourceFile);??

BufferedInputStream?inBuff=new?BufferedInputStream(input);??

//?新建文件輸出流并對它進行緩沖???

FileOutputStream?output?=?new?FileOutputStream(targetFile);??

BufferedOutputStream?outBuff=new?BufferedOutputStream(output);??

//?緩沖數組???

byte[]?b?=?new?byte[1024?*?5];??

int?len;??

while?((len?=inBuff.read(b))?!=?-1)?{??

outBuff.write(b,?0,?len);??

}??

//?刷新此緩沖的輸出流???

outBuff.flush();??

//關閉流???

inBuff.close();??

outBuff.close();??

output.close();??

input.close();??

}??

//?復制文件夾???

public?static?void?copyDirectiory(String?sourceDir,?String?targetDir)??

throws?IOException?{??

//?新建目標目錄???

(new?File(targetDir)).mkdirs();??

//?獲取源文件夾當前下的文件或目錄???

File[]?file?=?(new?File(sourceDir)).listFiles();??

for?(int?i?=?0;?i??file.length;?i++)?{??

if?(file[i].isFile())?{??

//?源文件???

File?sourceFile=file[i];??

//?目標文件???

File?targetFile=new?File(new?File(targetDir).getAbsolutePath()+File.separator+file[i].getName());??

copyFile(sourceFile,targetFile);??

}??

if?(file[i].isDirectory())?{??

//?準備復制的源文件夾???

String?dir1=sourceDir?+?"/"?+?file[i].getName();??

//?準備復制的目標文件夾???

String?dir2=targetDir?+?"/"+?file[i].getName();??

copyDirectiory(dir1,?dir2);??

}??

}??

}??

}

怎樣導入Java源程序?

1,直接拷貝覆蓋,不管是完整的帶項目配置文件的java源程序,還是不完整的或缺少配置文件的都可以。\x0d\x0a具體步驟:\x0d\x0a先在Eclipse中新建空的工程并且命好名,然后把舊工程的目錄里所有代碼文件目錄,直接拷貝覆到新建空的工程工程目錄下,然后在eclipse中右擊刷新就可以了。\x0d\x0a比如:新建工程名叫xxx,需要復制的工程文件名叫sss\x0d\x0a在本地磁盤打開xxx所在的文件,打開xxx目錄,然后把sss目錄下的所有文件復制到xxx目錄下就可以了。在eclipse中刷新,再導入需要的jar包就行了。\x0d\x0a\x0d\x0a2,對于完整的帶項目配置文件的java源碼,按步驟操作即可:\x0d\x0aFile-Import-General\x0d\x0a選擇ExistingProjectsintoWorkspace,選擇要導入的文件,點擊“finish",OK。\x0d\x0a\x0d\x0a3,對于不完整的工程(java程序源文件)或缺少工程配置文件的,\x0d\x0a先新建空的工程并且命好名\x0d\x0a然后File-Import-General\x0d\x0a選擇FileSystem,點擊“next”,Fromdirectory選擇要導入的路徑,\x0d\x0a注意intoFolder要選擇剛剛建好的工程路徑,點擊“finish",OK。

分享名稱:java代碼目錄拷貝 java拷貝文件到另一個目錄下
文章源于:http://www.bm7419.com/article18/dohhpgp.html

成都網站建設公司_創(chuàng)新互聯(lián),為您提供網站建設、做網站、網站內鏈、網站排名、App開發(fā)、標簽優(yōu)化

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

網站托管運營