導航:首頁 > 編程語言 > java拷貝文件夾

java拷貝文件夾

發布時間:2022-06-11 16:56:46

java如何拷貝一個文件夾內的多個指定的文件到另外一個指定的文件夾下

你好:

請看代碼:

/**
*把一個文件夾里的所有文件包括文件夾一並原樣拷貝到另一個目錄中;
*@authorshuishui
*/
importjava.io.File;
importjava.io.FileInputStream;
importjava.io.FileNotFoundException;
importjava.io.FileOutputStream;
importjava.io.IOException;
importjava.io.InputStream;
importjava.io.OutputStream;

publicclassCopyDir001{

publicstaticFiledirFrom;
publicstaticFiledirTo;

//目標路徑創建文件夾
publicvoidlistFileInDir(Filefile){
File[]files=file.listFiles();
for(Filef:files){
Stringtempfrom=f.getAbsolutePath();
Stringtempto=tempfrom.replace(dirFrom.getAbsolutePath(),
dirTo.getAbsolutePath());//後面的路徑替換前面的路徑名
if(f.isDirectory()){
FiletempFile=newFile(tempto);
tempFile.mkdirs();
listFileInDir(f);
}else{
System.out.println("源文件:"+f.getAbsolutePath());
//
intendindex=tempto.lastIndexOf("\");//找到"/"所在的位置
StringmkdirPath=tempto.substring(0,endindex);
FiletempFile=newFile(mkdirPath);
tempFile.mkdirs();//創建立文件夾
System.out.println("目標點:"+tempto);
(tempfrom,tempto);
}
}
}
/**
*封裝好的文件拷貝方法
*/
publicvoid(Stringfrom,Stringto){
try{
InputStreamin=newFileInputStream(from);
OutputStreamout=newFileOutputStream(to);

byte[]buff=newbyte[1024];
intlen=0;
while((len=in.read(buff))!=-1){
out.write(buff,0,len);
}
in.close();
out.close();
}catch(FileNotFoundExceptione){
e.printStackTrace();
}catch(IOExceptione){
e.printStackTrace();
}
}

publicstaticvoidmain(String[]args){
Filefromfile=newFile("e:\shui\test");//源文件夾
Filetofile=newFile("e:\Jying\shui");//目標

CopyDir001=newCopyDir001();
//設置來源去向
.dirFrom=fromfile;
.dirTo=tofile;
.listFileInDir(fromfile);

}
}

② Java代碼拷貝文件夾 注:復制文件夾

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

importjava.io.*;
/**
*復制文件夾或文件夾
*/
publicclassCopyDirectory{
//源文件夾
staticStringurl1="F:/photos";
//目標文件夾
staticStringurl2="D:/tempPhotos";
publicstaticvoidmain(Stringargs[])throwsIOException{
//創建目標文件夾
(newFile(url2)).mkdirs();
//獲取源文件夾當前下的文件或目錄
File[]file=(newFile(url1)).listFiles();
for(inti=0;i<file.length;i++){
if(file[i].isFile()){
//復制文件
File(file[i],newFile(url2+file[i].getName()));
}
if(file[i].isDirectory()){
//復制目錄
StringsourceDir=url1+File.separator+file[i].getName();
StringtargetDir=url2+File.separator+file[i].getName();
Directiory(sourceDir,targetDir);
}
}
}
//復制文件
publicstaticvoidFile(FilesourceFile,FiletargetFile)
throwsIOException{
//新建文件輸入流並對它進行緩沖
FileInputStreaminput=newFileInputStream(sourceFile);
BufferedInputStreaminBuff=newBufferedInputStream(input);

//新建文件輸出流並對它進行緩沖
FileOutputStreamoutput=newFileOutputStream(targetFile);
BufferedOutputStreamoutBuff=newBufferedOutputStream(output);

//緩沖數組
byte[]b=newbyte[1024*5];
intlen;
while((len=inBuff.read(b))!=-1){
outBuff.write(b,0,len);
}
//刷新此緩沖的輸出流
outBuff.flush();

//關閉流
inBuff.close();
outBuff.close();
output.close();
input.close();
}
//復制文件夾
publicstaticvoidDirectiory(StringsourceDir,StringtargetDir)
throwsIOException{
//新建目標目錄
(newFile(targetDir)).mkdirs();
//獲取源文件夾當前下的文件或目錄
File[]file=(newFile(sourceDir)).listFiles();
for(inti=0;i<file.length;i++){
if(file[i].isFile()){
//源文件
FilesourceFile=file[i];
//目標文件
FiletargetFile=newFile(newFile(targetDir).getAbsolutePath()+File.separator+file[i].getName());
File(sourceFile,targetFile);
}
if(file[i].isDirectory()){
//准備復制的源文件夾
Stringdir1=sourceDir+"/"+file[i].getName();
//准備復制的目標文件夾
Stringdir2=targetDir+"/"+file[i].getName();
Directiory(dir1,dir2);
}
}
}
}

③ java中IO怎麼將一個文件復制到另外一個文件夾

package tv.bilibili;

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.FileOutputStream;

public class IoPlay {
public static void main(String[] args) throws IOException{
File f = new File("E:\\新建文本文檔.txt");
File f1 = new File("D:\\");
IoPlay io = new IoPlay();
io.(f,f1);
}

public void (File f,File f1) throws IOException{ //復制文件的方法!
if(!f1.exists()){
f1.mkdir();
}
if(!f1.exists()){//路徑判斷,是路徑還是單個的文件
File[] cf = f.listFiles();
for(File fn : cf){
if(fn.isFile()){
FileInputStream fis = new FileInputStream(fn);
FileOutputStream fos = new FileOutputStream(f1 + "\\" +fn.getName());
byte[] b = new byte[1024];
int i = fis.read(b);
while(i != -1){
fos.write(b, 0, i);
i = fis.read(b);
}
fis.close();
fos.close();
}else{
File fb = new File(f1 + "\\" + fn.getName());
fb.mkdir();
if(fn.listFiles() != null){//如果有子目錄遞歸復制子目錄!
(fn,fb);
}
}
}
}else{
FileInputStream fis = new FileInputStream(f);
FileOutputStream fos = new FileOutputStream(f1 + "\\" +f.getName());
byte[] b = new byte[1024];
int i = fis.read(b);
while(i != -1){
fos.write(b, 0, i);
i = fis.read(b);
}
fis.close();
fos.close();
}
}
}

以上是我自己寫的,講一個文件復制到例外一個地方,無論是文件,還是文件夾都可以

④ Java怎麼實現文件拷貝

工具/原料

一台配置了java環境的電腦

一款適合自己的開發集成環境,這里用的是eclipse Kepler


文件拷貝DEMO

1.首先,理清思路,然後我們再動手操作。

拷貝,有源文件,和目的文件。

如果原文件不存在,提示,報錯。

如果目的文件不存在,創建空文件並被覆蓋。

如果目的地址,也即目的路徑不存在,創建路徑。

拷貝,輸入流,輸出流,關閉流。

拷貝前輸出文件大小,計算拷貝大小,比較並核實。輸出。

⑤ java如何復制拷貝一個文件到另一個文件夾如:a文件夾中的.data文件拷貝到b文件夾。

你可以個java inputStrem流和outputStream流來實現這個功能。
import java.io.*;
public class FileStreamDemo {
public static void main(String[] args) {
try {
// 來源文件
FileInputStream in = new FileInputStream("D:/b.txt");
// 目的文件
FileOutputStream out = new FileOutputStream("C:/a.txt");
byte[] bytearray = new byte[1024];
do {
in.read(bytearray, 0, 1024);
out.write(bytearray);
} while (in.available() > 0);
in.close();
out.close();
} catch ( e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}

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

有兩種方法可以使用:

1、我們可以使用java的File類,使用遞歸演算法遍歷文件夾及其所有層的子文件夾,這種寫法非常繁瑣且效率不高,不推薦使用。

2、直接使用Windows的x命令
示例代碼

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main( String[] args ) throws IOException
{
/*在dos窗口:x C:\源文件 D:\源文件\/S/E*/
/*字元所需的格式:x C:\\源文件 D:\\源文件\\/S/E*/
System.out.println( "請輸入源文件的地址欄路徑:" );
BufferedReader br = new BufferedReader( new InputStreamReader( System.in ) );
String input = br.readLine();
/*將地址中的單斜杠變為雙斜杠*/
String from = input.replaceAll( "\\\\", "\\\\\\\\" );
/*獲取文件名*/
String name_file = from.substring( from.lastIndexOf( "\\" ) + 1, from.length() );
/*把目標拷貝到D盤根目錄*/
String to = "D:\\" + name_file + "\\/S/E";
/*拼裝命令*/
String cmd = "cmd.exe /C x " + from + " " + to;
/*執行命令*/
java.lang.Runtime.getRuntime().exec( cmd );
System.out.println( "文件拷貝完畢。" );
System.out.println( "文件已經拷貝到:D:\\" + name_file );
}
}

⑦ java復制文件夾以及其中的文件

這是 我修改後的,能使用。 package configuration;import java.io.*;
/**
* @author Administrator
*
* Class Function:
*/
public class Directory {

public void startCopy(String topath,String frompath) throws IOException {

File =new File(topath); //拷貝到何處 路徑
File by=new File(frompath); //從何處拷貝 路徑
//創建備份目錄
.mkdirs();
//開始拷貝
File[] file=by.listFiles();
try{
if(file.length!=0){
for(int i=0;i<file.length;i++){
if(file[i].isFile()){
FileInputStream input=new FileInputStream(file[i]);
FileOutputStream output=new FileOutputStream(+"\\"+file[i].getName());
byte[] b=new byte[1024*10];
int len=input.read(b);
System.out.println("=========================================是文件================================================================");
System.out.println("拷貝"+topath+"\\"+file[i].getName());
System.out.println("目標"+frompath+"\\"+file[i].getName());

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

output.write(b,0,len);
}
output.flush();
output.close();
input.close();
}

if(file[i].isDirectory()){
Directiory(+"\\"+file[i].getName(),by+"\\"+file[i].getName());
System.out.println("=========================================是目錄================================================================");
System.out.println("拷貝"+topath+"\\"+file[i].getName());
System.out.println("目標"+frompath+"\\"+file[i].getName());
}

}
}
}catch(Exception e){

}finally{
file=null;
}
}
public void Directiory(String topath,String frompath) throws IOException{

File =new File(topath);
File by=new File(frompath);

//創建拷貝目錄
.mkdirs();
//開始拷貝
File[] file=by.listFiles();
try{

if(file.length!=0){

for(int i=0;i<file.length;i++){
if(file[i].isFile()){
FileInputStream input=new FileInputStream(file[i]);
FileOutputStream output=new FileOutputStream(+"\\"+file[i].getName());
byte[] b=new byte[1024*5];
int len;
while((len=input.read(b))!=-1){
output.write(b,0,len);
}
output.flush();
output.close();
input.close();
}
if(file[i].isDirectory()){
Directiory(+"\\"+file[i].getName(),by+"\\"+file[i].getName());
}
}
}
}catch(Exception e){

}finally{
file=null;
}
}}

⑧ java復制文件夾!

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

public class CopyFile {
public boolean (String file1,String file2) {

File in=new File(file1);
File out=new File(file2);
if(!in.exists()){
System.out.println(in.getAbsolutePath()+"源文件路徑錯誤!!!");
return false;
}
else {
System.out.println("源文件路徑"+in.getAbsolutePath());
System.out.println("目標路徑"+out.getAbsolutePath());

}
if(!out.exists())
out.mkdirs();
File[] file=in.listFiles();
FileInputStream fin=null;
FileOutputStream fout=null;
for(int i=0;i<file.length;i++){
if(file[i].isFile()){
try {
fin=new FileInputStream(file[i]);
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println("in.name="+file[i].getName());
try {
fout=new FileOutputStream(new File(file2+"/"+file[i].getName()));
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println(file2);
int c;
byte[] b=new byte[1024*5];
try {
while((c=fin.read(b))!=-1){

fout.write(b, 0, c);
System.out.println("復制文件中!");
}
<------------------------------注意
fin.close();
fout.flush();
fout.close();
<--------------------------------
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
<-------------------------------注釋掉
// return true;
}
else (file1+"/"+file[i].getName(),file2+"/"+file[i].getName());
}

return false;

}

public static void main(String[] args) {
CopyFile File = new CopyFile();
File.("E:\\study\\opngl", "E:\\opengl");
}
}

⑨ java怎樣用File類拷貝文件夾

使用 java.io.File listFiles得到列表, 判斷是文件夾則創建、文件則拷貝

~~~~~~~~~~~~~~~

⑩ 怎樣用Java復制文件到指定目錄 在線等,急!!!!

藉助工具包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.Directory(from, to);
} catch (IOException e) {
e.printStackTrace();
}
}
}

閱讀全文

與java拷貝文件夾相關的資料

熱點內容
U盤分了文件夾後 瀏覽:938
javasetstring 瀏覽:835
壓縮包里文件夾是白色的 瀏覽:470
編譯鏈接知乎 瀏覽:589
php查詢按鈕 瀏覽:713
有音響游戲解壓神器 瀏覽:251
怎麼壓縮圖片jpeg 瀏覽:711
澳大利亞net程序員 瀏覽:577
程序員加班難受 瀏覽:986
如何看伺服器品牌 瀏覽:254
ecy50clp壓縮機多少W 瀏覽:752
mac終端命令怎麼保存 瀏覽:848
微信公眾號圖片壓縮 瀏覽:438
可以在安卓平板上畫畫的軟體是什麼 瀏覽:436
高盛數字加密 瀏覽:895
軟著網上能不能查到自己的源碼 瀏覽:915
編譯好的android源碼 瀏覽:993
學校機房雲伺服器和電腦主機 瀏覽:10
Python紅色五角星畫法 瀏覽:337
壓縮餅干翻譯 瀏覽:686