需求:修改指定目录内所有含有某字段文件

来源:互联网 发布:淘宝站外活动销量 编辑:程序博客网 时间:2024/06/03 05:06
 /*需求:键盘录入一个目录的路径,然后录入要删除的字段程序你根据输入的目录和字段,找到所有文件头包含这个字段的文件,并删除这个字段*/import java.util.*;import java.io.*;class TransDirFileName {public static void main(String[] args)throws IOException{//从键盘录入需要修改的文件夹路径,并封装成一个对象System.out.println("Please enter the directory");BufferedReader bufr1=new BufferedReader(new InputStreamReader(System.in));String s1=bufr1.readLine();File dir=new File(s1);//定义一个List集合,用于存储目录被遍历之后的文件夹路径List<File> list=new ArrayList<File>();//从键盘录入需要删除的字段,并封装成一个对象System.out.println("please enter need to delete:");BufferedReader bufr2=new BufferedReader(new InputStreamReader(System.in));String dn=bufr2.readLine();//使用定义的方法fileToList(dir,list,dn);//遍历这个list集合for(File f1:list){//获取这个文件的绝对路径,并封装成一份File类String str1=f1.getAbsolutePath();//定义一个String类,用于存储改变后的名字String str2=str1.replace(dn,"");File f2=new File(str2);//使用File类中的renameTo方法,改变文件的名字System.out.println(f1.renameTo(f2));}}public static void fileToList(File dir,List<File> list,String dn)throws IOException{//遍历传进来的文件夹,装进一个数组中File[] files=dir.listFiles();for(File file:files){//判断这个文件是否是一个文件夹,如果是,递归if(file.isDirectory())fileToList(file,list,dn);else{//如果这个文件包含输入的要删除的内容,便添加到list中if(file.getName().startsWith(dn)){list.add(file);}}}}}

0 0
原创粉丝点击