導航:首頁 > 文件類型 > java復制文件夾

java復制文件夾

發布時間:2023-03-01 19:14:55

java File的操作,復制文件夾的方法!

實現思路:就是循環獲取到文件夾中的文件,然後逐一的進行文件復制。
//復制文件夾
package com.cdd.util;
import java.io.*;
public class FileUtil {
private static void (File[] files, File d) {
if (!d.exists()) //如果指定目錄不存在
d.mkdir(); //創建目錄
for (int i = 0; i < files.length; i++) { //循環遍歷要復制的文件夾
if (files[i].isFile()) { //如果文件夾中是文件
try {
FileInputStream fis = new FileInputStream(files[i]); //創建FileInputStream對象
FileOutputStream out = new FileOutputStream(new File(d
.getPath()
+ File.separator + files[i].getName())); //復制後文件的保存路徑
int count = fis.available();
byte[] data = new byte[count];
while ((str = bre.readLine())!= null) //讀取文件通過readline方法可以有效的避免亂碼
out.write(str ); //將讀取的信息寫入文件中
}
out.close(); //關閉流
fis.close();
} catch (Exception e) {
e.printStackTrace();
}
}
if (files[i].isDirectory()) { //如果文件夾中是一個路徑
File des = new File(d.getPath() + File.separator
+ files[i].getName()); //在復制後路徑中創建子文件夾
des.mkdir();
(files[i].listFiles(), des); //再次調用本方法
}
}
System.out.println("文件夾復製成功");
}

㈡ JAVA 把指定的文件 復制到目標文件夾下 怎麼寫啊

// 由絕對路徑得到輸出流
//path源路徑
//fileCopeToPath 目標路徑
String path="D:\我的文檔\My Pictures\1.jpg ";
String fileCopeToPath=" D:\我的文檔\test ";
File file =new File(path);
if(file.exists){
FileInputStream fis = new FileInputStream(file);
FileOutputStream fos= new FileOutputStream( fileCopeToPath+ File.separator +path.subString(path.lastIndexOf("/\"),path.length));
byte[] b = new byte[fis.available()];
int len = 0;
while ((len = fis.read(b)) != -1)
{
fos.write(b, 0, len);
fos.flush();
}
fos.close();
fis.close();
}

㈢ java 復制一個指定文件夾下的指定文件 到另一個指定文件夾下

下面是我學習過程中總結的幾個復制文件的方法,代碼如下:

/**
*復制媒體文件,該例子是復制1.mp3文件,列出了四種方式.
*/
importjava.io.BufferedInputStream;
importjava.io.BufferedOutputStream;
importjava.io.FileInputStream;
importjava.io.FileNotFoundException;
importjava.io.FileOutputStream;
importjava.io.IOException;

{

publicstaticvoidmain(String[]args)throwsIOException{
/**
*共有四個方法,但建議用demo1,demo2;因為demo3需要創建數組,如果文件大,光創建數組就需要很多時間;demo4一定也不要用,
*效率非常慢.
*/
demo1();
demo2();
demo3();
demo4();

}

publicstaticvoiddemo1()throwsFileNotFoundException,IOException{
FileInputStreamfis=newFileInputStream("d:\1.mp3");
FileOutputStreamfos=newFileOutputStream("d:\01.mp3");

intlen=0;
byte[]buf=newbyte[1024];
while((len=fis.read(buf))!=-1){
fos.write(buf,0,len);
}
fis.close();
fos.close();
}

publicstaticvoiddemo2()throwsIOException{
FileInputStreamfis=newFileInputStream("d:\1.mp3");
BufferedInputStreambufis=newBufferedInputStream(fis);

FileOutputStreamfos=newFileOutputStream("d:\02.mp3");
BufferedOutputStreambufos=newBufferedOutputStream(fos);

intlen=0;
while((len=bufis.read())!=-1){
bufos.write(len);
}
bufis.close();
bufos.close();
}

//不建議這種方式
publicstaticvoiddemo3()throwsIOException{
FileInputStreamfis=newFileInputStream("d:\1.mp3");
FileOutputStreamfos=newFileOutputStream("d:\03.mp3");

byte[]buf=newbyte[fis.available()];
fis.read(buf);
fos.write(buf);
fos.close();
fis.close();

}

publicstaticvoiddemo4()throwsIOException{
FileInputStreamfis=newFileInputStream("d:\1.mp3");
FileOutputStreamfos=newFileOutputStream("d:\04.mp3");

intch=0;

while((ch=fis.read())!=-1){
fos.write(ch);
}
fos.close();
fis.close();
}
}

㈣ java如何拷貝文件到另一個目錄下

下面列舉出4種方式:

1、使用FileStreams復制

這是最經典的方式將一個文版件的內容復制到另一個文件中。 使用權FileInputStream讀取文件A的位元組,使用FileOutputStream寫入到文件B。正如你所看到的我們執行幾個讀和寫操作try的數據,所以這應該是一個低效率的,下一個方法我們將看到新的方式。 這是第一個方法的代碼:

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

你這JAVA基礎太一般了,有空多看看書吧,樓下那個不行,我給你寫一個等著啊

㈥ 怎麼把目錄下的所有文件復制到另外目錄下java

java將一個文件夾下的所有文件復制到另一個文件夾下
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;

public class self {
public void IOCopy(String path,String path1){
File file = new File(path);
File file1 = new File(path1);
if(!file.exists()){
System.out.println(file.getName()+"文件不存在");
}else{
System.out.println("存在");
}
byte[] b = new byte[(int) file.length()];
if(file.isFile()){
try {
FileInputStream is= new FileInputStream(file);
FileOutputStream ps= new FileOutputStream(file1);
is.read(b);
ps.write(b);
} catch (Exception e) {
e.printStackTrace();
}
}else if(file.isDirectory()){
if(!file.exists())
file.mkdir();
String[] list = file.list();
for(int i=0;i<list.length;i++){
this.IOCopy(path+"/"+list[i], path1+"/"+list[i]);
}
}
}
public static void main(String args[]){

new self().IOCopy("D:\\device","D:\\TDDOWNLOAD");
}
}

㈦ 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如何拷貝文件到另一個目錄下

/**
*
復制單個文件
*
@param
oldPath
String
原文件路徑
如:c:/fqf.txt
*
@param
newPath
String
復制後路徑
如:f:/fqf.txt
*
@return
boolean
*/
public
void
File(String
oldPath,
String
newPath)
{
try
{
int
bytesum
=
0;
int
byteread
=
0;
File
oldfile
=
new
File(oldPath);
if
(oldfile.exists())
{
//文件存在時
InputStream
inStream
=
new
FileInputStream(oldPath);
//讀入原文件
FileOutputStream
fs
=
new
FileOutputStream(newPath);
byte[]
buffer
=
new
byte[1444];
int
length;
while
(
(byteread
=
inStream.read(buffer))
!=
-1)
{
bytesum
+=
byteread;
//位元組數
文件大小
System.out.println(bytesum);
fs.write(buffer,
0,
byteread);
}
inStream.close();
}
}
catch
(Exception
e)
{
System.out.println("復制單個文件操作出錯");
e.printStackTrace();
}
}
/**
*
復制整個文件夾內容
*
@param
oldPath
String
原文件路徑
如:c:/fqf
*
@param
newPath
String
復制後路徑
如:f:/fqf/ff
*
@return
boolean
*/
public
void
Folder(String
oldPath,
String
newPath)
{
try
{
(new
File(newPath)).mkdirs();
//如果文件夾不存在
則建立新文件夾
File
a=new
File(oldPath);
String[]
file=a.list();
File
temp=null;
for
(int
i
=
0;
i
<
file.length;
i++)
{
if(oldPath.endsWith(File.separator)){
temp=new
File(oldPath+file[i]);
}
else{
temp=new
File(oldPath+File.separator+file[i]);
}
if(temp.isFile()){
FileInputStream
input
=
new
FileInputStream(temp);
FileOutputStream
output
=
new
FileOutputStream(newPath
+
"/"
+
(temp.getName()).toString());
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(temp.isDirectory()){//如果是子文件夾
Folder(oldPath+"/"+file[i],newPath+"/"+file[i]);
}
}
}
catch
(Exception
e)
{
System.out.println("復制整個文件夾內容操作出錯");
e.printStackTrace();
}
}

閱讀全文

與java復制文件夾相關的資料

熱點內容
編程寫東西都寫得是什麼 瀏覽:35
蔚來怎麼推薦app 瀏覽:269
6s輸入密碼來使用siri 瀏覽:742
程序員黑客頭像酷 瀏覽:739
mvc接受上傳文件 瀏覽:365
程序員可以轉金融嗎 瀏覽:193
無需用戶名密碼的共享 瀏覽:775
一加怎麼和win10傳輸文件 瀏覽:425
大數據分析哪些行業 瀏覽:848
win10刪除自動更新文件在哪裡 瀏覽:581
cad打開一個文件要關閉另一文件 瀏覽:432
鋼鐵雄心4升級包 瀏覽:558
一加找不到恢復文件 瀏覽:960
遼寧高中查分數的app有哪些 瀏覽:790
考研復試編程題可以考什麼 瀏覽:118
微信老男人頭像圖片 瀏覽:588
貸款app有哪些東西 瀏覽:74
sim卡突然無網路連接怎麼辦 瀏覽:150
制度文件內容要簡潔 瀏覽:96
java正則表達式一個或多個空格 瀏覽:420

友情鏈接