欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

java 队列复制_复制一个文件夹里的文件到另一个目录下 (使用队列的方法实现)...

发布时间:2025/3/11 编程问答 32 豆豆
生活随笔 收集整理的这篇文章主要介绍了 java 队列复制_复制一个文件夹里的文件到另一个目录下 (使用队列的方法实现)... 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

最近在由于准备实习,在学android,也会用到Java,所以想实现复制文件夹的功能,当然也参考了别人的代码。这里是我参考的网址:http://blog.csdn.net/etzmico/article/details/7786525/

我发这个文章的主要目的是为了永久性保存我的这个小小成功,用队列的方式又写了一个源文件夹里的所有文件到一个目标目录下的代码,这个目标目录下只有文件,没有文件夹。

import java.io.BufferedInputStream;

import java.io.BufferedOutputStream;

import java.io.File;

import java.io.FileInputStream;

import java.io.FileOutputStream;

import java.io.IOException;

import java.io.ObjectInputStream.GetField;

import java.util.LinkedList;

import java.util.Queue;

public class CopyFile2 {

static Queue queue = new LinkedList();

static String copy_From ="D:\\amu1";//源文件

static String copy_TO="E:\\amu2"; //目标文件

/**

* @param args

* @throws IOException

*/

public static void main(String[] args) throws IOException {

// TODO Auto-generated method stub

File [] get_From=(new File(copy_From)).listFiles();//获取源文件中的文件或目录

PanDuan(get_From);//判断是文件还是文件夹,如果是文件直接拷贝,

//如果是文件夹,加到队列当中

while(!queue.isEmpty()){

File getFile=queue.remove();//获取并移除此队列的头,如果此队列为空,则返回 null。

File [] get=(new File(getFile.getAbsolutePath())).listFiles();

//File[] files= new File[]{get};

//files[0]=getFile;

PanDuan(get);

}

}

/*

* 判断是文件还是是文件夹的函数,如果是文件,直接拷贝,如果是文件夹加入到队列中

*/

private static void PanDuan(File[] get_from) throws IOException {

// TODO Auto-generated method stub

for(int i=0;i

if(get_from[i].isFile()){

//调用复制文件的函数

String toFile = copy_TO +"/"+ get_from[i].getName();

copy_File(get_from[i],new File (toFile));

}

else if(get_from[i].isDirectory()){

//Queue queue = new LinkedList();//,如果是文件夹,就加入到队列中

queue.add(get_from[i]);

}

}

}

/

复制文件的函数

*/

private static void copy_File(File from_File, File to_File) throws IOException

{

FileInputStream infile=new FileInputStream(from_File);//新建输入流

BufferedInputStream inbuf=new BufferedInputStream(infile);//对输入流进行缓冲

FileOutputStream outfile=new FileOutputStream(to_File); //新建输出流

BufferedOutputStream outbuf=new BufferedOutputStream(outfile);//对输出流进行缓冲

//缓冲数组

byte [] bt=new byte[2048];

int len;

while ((len=inbuf.read(bt))!=-1) {

outbuf.write(bt, 0, len);

}

outbuf.flush(); //刷新缓冲

infile.close();

inbuf.close();

outfile.close();

outbuf.close();

}

}

总结

以上是生活随笔为你收集整理的java 队列复制_复制一个文件夹里的文件到另一个目录下 (使用队列的方法实现)...的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。