黑马程序员技术交流社区
标题:
面试题
[打印本页]
作者:
chenguoyu520
时间:
2015-11-8 13:32
标题:
面试题
计算指定路径下所有.txt文件包括子文件夹里的.txt文件的个数然后将所有的.txt文件复制到D盘下任意目录,请大神修改下我的代码,就.txt文件的个数正确列出,我的代码个数出问题了
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.util.Scanner;
public class Test1 {
public static void main(String[] args) throws Exception{
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个路径:");
String path = sc.next();
sc.close();
File olddir = new File(path);
File newdir = new File("d:\\txt");
listTxt(olddir,newdir);
renameTxt(newdir);
}
//列出指定目录中所有文件的方法
public static void listTxt(File olddir,File newdir) throws Exception{
int count = 0;//定义一个计数器,用于计数txt文件个数
if(!olddir.exists()){
System.out.println("目录不存在");
}
if(!newdir.exists() || !newdir.isDirectory()){
newdir.mkdirs();
}
File f = new File(newdir.getPath()+"\\"+olddir.getName());
f.mkdir();
File[] files = olddir.listFiles();
for(File file : files){
if(file.isDirectory()){
listTxt(file,f);
}else if(file.getName().endsWith(".txt")){
count++;
System.out.println("以.txt文件结尾的文件的个数是:"+count);
copyTxt(file,f);
}
}
}
//复制指定目录中文件的方法
public static void copyTxt(File olddir,File newdir) throws Exception{
//创建缓冲区读取流对象并与要复制的文件对象关联
BufferedInputStream bis = new BufferedInputStream(new FileInputStream(olddir));
//创建缓冲区写入流对象并与要复制的到的文件对象关联
BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(newdir.getPath()+"\\"+olddir.getName()));
int by = 0;
while((by=bis.read())!=-1){
bos.write(by);
}
//关闭资源
bis.close();
bos.close();
}
//修改文件名的方法
public static void renameTxt(File dir){
if(!dir.exists()){
System.out.println("文件不存在");
}
File[] files = dir.listFiles();
for(File file : files){
if(file.isDirectory()){
renameTxt(file);
}else if(file.getName().endsWith(".txt")){
File newfile = new File(file.getPath().replaceAll("\\.txt", ".java"));
file.renameTo(newfile);
}
}
}
}
复制代码
作者:
刘旭波
时间:
2015-11-8 20:01
File newdir = new File("d:\\txt"); 这就有问题 创建文件夹是File newdir=new File("d://txt")
作者:
我若为神
时间:
2015-11-8 22:09
6666666666
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2