/**
* 复制文件或者目录
* @param srcFile:原始文件或目录
* @param desFile:目标文件或目录
*
*/
public static void copyFile(File srcFile, File desFile)throws Exception {
RandomAccessFile srcSaf = null;
RandomAccessFile desSaf = null;
try {
// srcSaf = new RandomAccessFile(srcFile, "r");
// desSaf = new RandomAccessFile(desFile, "rw");
/* 如果要复制的是文件夹,要先创建文件夹*/
if(srcFile.isDirectory()){
desFile.mkdir();
for(File sub : srcFile.listFiles()){
File newFile = new File(desFile, sub.getName());
copyFile(sub, newFile);
}
}
/* 文件的复制*/
srcSaf = new RandomAccessFile(srcFile, "r");
desSaf = new RandomAccessFile(desFile, "rw");
byte[] buf = new byte[1024*10];
int len = 0;
while((len = srcSaf.read(buf)) != -1){
desSaf.write(buf, 0, len);
}
} catch (FileNotFoundException e) {
throw e;
} finally{
srcSaf.close();
desSaf.close();
}
}如果是文件夹的复制,只能复制文件夹里的一个子项 什么问题 大神给看看
* 复制文件或者目录
* @param srcFile:原始文件或目录
* @param desFile:目标文件或目录
*
*/
public static void copyFile(File srcFile, File desFile)throws Exception {
RandomAccessFile srcSaf = null;
RandomAccessFile desSaf = null;
try {
// srcSaf = new RandomAccessFile(srcFile, "r");
// desSaf = new RandomAccessFile(desFile, "rw");
/* 如果要复制的是文件夹,要先创建文件夹*/
if(srcFile.isDirectory()){
desFile.mkdir();
for(File sub : srcFile.listFiles()){
File newFile = new File(desFile, sub.getName());
copyFile(sub, newFile);
}
}
/* 文件的复制*/
srcSaf = new RandomAccessFile(srcFile, "r");
desSaf = new RandomAccessFile(desFile, "rw");
byte[] buf = new byte[1024*10];
int len = 0;
while((len = srcSaf.read(buf)) != -1){
desSaf.write(buf, 0, len);
}
} catch (FileNotFoundException e) {
throw e;
} finally{
srcSaf.close();
desSaf.close();
}
}如果是文件夹的复制,只能复制文件夹里的一个子项 什么问题 大神给看看
是的 就是复制一个文件夹 这个文件夹里面也有东西的我代码都写出来了 但只能复制目录里面的一项 不知哪里错了 你这不等于没说吗我晕死,你复制了一项,当然只有一项啊,你要复制文件夹里面的所有东西,那就必须所有的东西都复制一遍,clear ?用递归
是的 就是复制一个文件夹 这个文件夹里面也有东西的我代码都写出来了 但只能复制目录里面的一项 不知哪里错了 你这不等于没说吗我晕死,你复制了一项,当然只有一项啊,你要复制文件夹里面的所有东西,那就必须所有的东西都复制一遍,clear ?用递归你好好看看我那不是递归吗?????????????
* 复制文件或者目录
* @param srcFile:原始文件或目录
* @param desFile:目标文件或目录
*
*/
public static void copyFile(File srcFile, File desFile)throws Exception {
RandomAccessFile srcSaf = null;
RandomAccessFile desSaf = null;
try {
/* 如果要复制的是文件夹,要先创建文件夹*/
if(srcFile.isDirectory()){
desFile.mkdir();
for(File sub : srcFile.listFiles()){
File newFile = new File(desFile, sub.getName());
copyFile(sub, newFile);
}
}
/* 文件的复制*/
srcSaf = new RandomAccessFile(srcFile, "r");
desSaf = new RandomAccessFile(desFile, "rw");
byte[] buf = new byte[1024*10];
int len = 0;
while((len = srcSaf.read(buf)) != -1){
desSaf.write(buf, 0, len);
}
} catch (FileNotFoundException e) {
throw e;
} finally{
srcSaf.close();
desSaf.close();
}
}