拷贝目录代码java java拷贝文件并创建目录

java 编写程序,拷贝一个带内容的文件夹 。例如:将c:\program files\java 文件夹拷贝到D盘的根目录下一、复制文件代码
print?import java.io.*;
import java.util.*;
class Copy
{
static void copy(String from,String to) throws IOException
{
BufferedReader in=new BufferedReader(new FileReader(from));
BufferedWriter out=new BufferedWriter(new FileWriter(new File(to)));
String line=null;
while((line=in.readLine())!=null)
{
out.write(line "\n");
}
in.close();
out.close();
}
public static void main(String[] args) throws IOException
{
Scanner sc=new Scanner(System.in);
System.out.print("请输入文件路径拷贝目录代码java:");
String from=sc.next();
System.out.print("请输入拷贝路径拷贝目录代码java:");
String to=sc.next();
copy(from,to);
}
}
import java.io.*;
import java.util.*;
class Copy
{
static void copy(String from,String to) throws IOException
{
BufferedReader in=new BufferedReader(new FileReader(from));
BufferedWriter out=new BufferedWriter(new FileWriter(new File(to)));
String line=null;
while((line=in.readLine())!=null)
{
out.write(line "\n");
}
in.close();
out.close();
}
public static void main(String[] args) throws IOException
{
Scanner sc=new Scanner(System.in);
System.out.print("请输入文件路径拷贝目录代码java:");
String from=sc.next();
System.out.print("请输入拷贝路径:");
String to=sc.next();
copy(from,to);
}
}
二、复制文件夹代码
java 如何拷贝整个目录,类似xcopy字数有限制 , 只给你一个方法吧 , 大体思路就是递归调用的方式来实现
/**
* 拷贝整个文件目录
* @param source 源目录、文件
* @param destination 目的目录、文件
*/
publicstaticvoidcopyFiles(Filesource,Filedestination){
 if(!source.exists()){
//Log.warn(source.getAbsolutePath()"源文件或源路径不存在");
return;
}
if(destination.isFile()){
//Log.warn(destination.getAbsolutePath()"目标不应该是文件,应该是路径");
return;
}
else
destination.mkdirs();
//如果是文件
if(source.isFile()){
try {
Stringfilename=destination.getAbsolutePath()File.separatorsource.getName();
FileInputStreamfis=newFileInputStream(source);
Filefile=newFile(filename);
if(file.exists()){
file.delete();
}
FileOutputStreamfos=newFileOutputStream(file);
if(!StreamHelper.toOutputStream(fis,fos)){
return;
}
fos.close();
fis.close();
Log.debug("复制"source.getAbsolutePath()"到"filename);
return;
}catch(IOExceptionex){
Log.error(ex);
return;
}
}
//如果是目录
else{
File[]files=source.listFiles();
for(inti=0;ifiles.length;i){
if(files[i].isDirectory()){
Stringpath=destination.getAbsolutePath()File.separatorfiles[i].getName();
Filefolder=newFile(path);
copyFiles(files[i],folder);
}else{
copyFiles(files[i],destination);
}
}
}
}
Java代码拷贝文件夹 注:复制文件夹Java代码复制文件夹时 , 则需要利用Flie类在目标文件夹中创建相应的目录 , 并且使用递归方法 , 代码如下:
import java.io.*;
/**
* 复制文件夹或文件夹
*/
public class CopyDirectory {
// 源文件夹
static String url1 = "F:/photos";
// 目标文件夹
static String url2 = "D:/tempPhotos";
public static void main(String args[]) throws IOException {
// 创建目标文件夹
(new File(url2)).mkdirs();
// 获取源文件夹当前下的文件或目录
File[] file = (new File(url1)).listFiles();
for (int i = 0; ifile.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; ifile.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 java拷贝文件并创建目录】}
}
怎样用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拷贝文件并创建目录的介绍到此就结束了 , 不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。

    推荐阅读