「java拷贝文件目录」java 下载文件到指定目录

博主:adminadmin 2022-11-27 17:11:05 59

今天给各位分享java拷贝文件目录的知识,其中也会对java 下载文件到指定目录进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

怎样用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.copyDirectory(from, to);

} catch (IOException e) {

e.printStackTrace();

}

}

}

java 如何拷贝整个目录,类似xcopy

字数有限制,只给你一个方法吧,大体思路就是递归调用的方式来实现

/**

* 拷贝整个文件目录

* @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如何拷贝文件到另一个目录下

/**

*

复制单个文件

*

@param

oldPath

String

原文件路径

如:c:/fqf.txt

*

@param

newPath

String

复制后路径

如:f:/fqf.txt

*

@return

boolean

*/

public

void

copyFile(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

copyFolder(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()){//如果是子文件夹

copyFolder(oldPath+"/"+file[i],newPath+"/"+file[i]);

}

}

}

catch

(Exception

e)

{

System.out.println("复制整个文件夹内容操作出错");

e.printStackTrace();

}

}

java拷贝文件目录的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java 下载文件到指定目录、java拷贝文件目录的信息别忘了在本站进行查找喔。

The End

发布于:2022-11-27,除非注明,否则均为首码项目网原创文章,转载请注明出处。