當前位置:首頁 » 文件管理 » java拷貝文件夾

java拷貝文件夾

發布時間: 2022-07-08 12:50:17

『壹』 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中File相似的方法

Windows的x命令。
使用java的File類,使用遞歸演算法遍歷文件夾及其所有層的子文件夾,這種寫法非常繁瑣且效率不高,不推薦使用,Windows的x命令可以根據所寫的代碼快速將需要拷貝的文件進行拷貝並且顯示拷貝進度。

『叄』 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

字數有限制,只給你一個方法吧,大體思路就是遞歸調用的方式來實現
/**
* 拷貝整個文件目錄
* @param source源目錄、文件
* @param destination目的目錄、文件
*/
public static void Files(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);
Files(files[i], folder);
}else {
Files(files[i], destination);
}
}
}
}

『伍』 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復制文件夾!

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如何拷貝一個文件夾內的多個指定的文件到另外一個指定的文件夾下

你好:

請看代碼:

/**
*把一個文件夾里的所有文件包括文件夾一並原樣拷貝到另一個目錄中;
*@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復制文件到指定目錄 在線等,急!!!!

藉助工具包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();
}
}
}

熱點內容
點歌機怎麼選切換安卓系統 發布:2025-01-17 14:05:33 瀏覽:719
java壓縮與解壓縮 發布:2025-01-17 14:03:24 瀏覽:925
python代碼保護 發布:2025-01-17 14:02:22 瀏覽:323
王者榮耀電腦如何改戰區安卓 發布:2025-01-17 13:23:18 瀏覽:814
華為手機如何開啟說出密碼 發布:2025-01-17 13:23:12 瀏覽:101
伺服器在美國說明什麼 發布:2025-01-17 13:14:10 瀏覽:11
啟辰t90有哪些配置 發布:2025-01-17 13:05:40 瀏覽:38
手機微博密碼怎麼改密碼忘了怎麼辦 發布:2025-01-17 13:04:44 瀏覽:959
微笑雲伺服器 發布:2025-01-17 13:03:25 瀏覽:83
android頂部標題欄 發布:2025-01-17 13:02:28 瀏覽:692