请问,将某个目录下的文件复制到一个新的目录,怎么实现,谢谢 up 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 用FileInputStream 和 FileOutputStream 一读一写应该就可以吧。不过怎么判断一个目录下有多个文件没有试过。去google一下吧。 //判断如果是目录if (f.isDirectory()) { 列出该目录下所有文件 File[] files = f.listFiles(); for (int i=0;files!=null&&i<files.length;i++) { if (files[i].isDirectory()) { //递归本函数 continue; } //处理本文件,使用FileInputStream 和 FileOutputStream 一读一写 } }else{ //处理本文件,使用FileInputStream 和 FileOutputStream 一读一写 } /* * 文件夹拷贝:例如 e:/bbb -> d:/ccc */ public void folderCopy(String fromDir,String toDir){ try{ File oldFolder = new File(fromDir); File newFolder = new File(toDir); if(!newFolder.mkdir()){ newFolder.mkdir(); } String[] file = oldFolder.list(); File temp = null; for(int i=0;i<file.length;i++){ if(file[i].endsWith(File.separator)){ temp = new File(fromDir + file[i]); }else{ temp = new File(fromDir + File.separator + file[i]); } if(temp.isFile()){ FileInputStream fis = new FileInputStream(temp); FileOutputStream fos = new FileOutputStream(toDir + "/" + temp.getName().toString()); byte[] b = new byte[1024*10]; int len = 0; if((len = fis.read(b)) != -1){ fos.write(b,0,len); fos.flush(); fos.close(); fis.close(); } } if(temp.isDirectory()){ folderCopy(fromDir + "/" +file[i],toDir + "/" + file[i]); } } }catch(Exception e){ System.out.println("文件夹拷贝时出错了!!!"); } } 可以用递归来实现,也可以用while.最快的方法是调File类的rename(参数)方法.直接改文件分区表(好象叫这名字).很好写的,1个钟头都不要 对话框嵌入问题 如何清空bufferedreader的buffer中的内容? Java Puzzlers里面的一个谜题,大家都给个解释,进者有分 关于StreamTokenizer程序异常分析!帮忙看看 关于org的poi包的简单问题!!!希望大家帮助!! 如何处理抛出的异尝的??? 怎麼讀取一個文件指定的中間某一段 请教:用jbuilder7编写程序时,光标显示不正确,请问怎样解决? 哪里能载到vj++? ant怎么运行不起来? 请问,怎样将整型转换为字符串?(初学者) 一个恶心的异常,把我恶心的不行,请各位高手指点一下,谢谢!!~三百里加急~!~
if (f.isDirectory()) {
列出该目录下所有文件
File[] files = f.listFiles();
for (int i=0;files!=null&&i<files.length;i++) {
if (files[i].isDirectory()) {
//递归本函数
continue;
}
//处理本文件,使用FileInputStream 和 FileOutputStream 一读一写
}
}else{
//处理本文件,使用FileInputStream 和 FileOutputStream 一读一写
}
* 文件夹拷贝:例如 e:/bbb -> d:/ccc
*/
public void folderCopy(String fromDir,String toDir){
try{
File oldFolder = new File(fromDir);
File newFolder = new File(toDir);
if(!newFolder.mkdir()){
newFolder.mkdir();
}
String[] file = oldFolder.list();
File temp = null;
for(int i=0;i<file.length;i++){
if(file[i].endsWith(File.separator)){
temp = new File(fromDir + file[i]);
}else{
temp = new File(fromDir + File.separator + file[i]);
}
if(temp.isFile()){
FileInputStream fis = new FileInputStream(temp);
FileOutputStream fos = new FileOutputStream(toDir + "/" + temp.getName().toString());
byte[] b = new byte[1024*10];
int len = 0;
if((len = fis.read(b)) != -1){
fos.write(b,0,len);
fos.flush();
fos.close();
fis.close();
}
}
if(temp.isDirectory()){
folderCopy(fromDir + "/" +file[i],toDir + "/" + file[i]);
}
}
}catch(Exception e){
System.out.println("文件夹拷贝时出错了!!!");
}
}