自总结之如何修改指定目录下的指定文件名及File.list()和File.listFiles()的区别

  不管在什么地方,什么时候,学习是快速提升自己的能力的一种体现!!!!!!!!!!!


修改之前的目录下文件





代码如下

public class Test {

    public static void main(String[] args) throws IOException {        
            //指定要包含的文件名
            String filen="a.txt";
            File file=new File("D:/test/weblog/");//获得目录
            //获取该目录下的所有文件
            File[] fileanme = file.listFiles();
            for (File files : fileanme) {
              
                System.out.println("listFiles()方法显示的路径为:"+files);
                
            }
            String[] strFilename = file.list();
            for (String string : strFilename) {
      
                System.out.println("list()方法显示的路径为:"+string);
                
            }
            //这里是真正要改名的方法
            for (File filenames : fileanme) {
                //获取文件的决对路径
                String name = filenames.getCanonicalPath();
                System.out.println("修改之前的绝对路径为"+name);
                //判断路径中有没有包含我所指定的文件
                if (name.contains(filen)) {
                    //如果包含,将.tmp后缀名除去更改为xxx.txt
                    String[] lastIndexOf = name.split(".tmp");
                    System.out.println("截取之后的路径为"+lastIndexOf[0]);
                    //重新修改文件名
                    filenames.renameTo(new File(lastIndexOf[0]));
                    //如果目录下的文件名是唯一的,改完之后就可以直接跳过了,如果想继续改包含a.txt名的就可以把break注释掉
                    break;
                }
                
            }
        
        
           
    }

}


IDE控制台打印



大家现在可以从控制台的输出中就可以看到listFiles与list的区别了,前者是绝对路径后者是文件名,而且他们的返回值也是不同的,listFile返回值是File[]而list的返回值是String[],这点要注意哦


修改之后的目录下显示





如果此文章有什么不对的地方请路过的大神指出,以免误人子弟


尊重原创,如要转载请注明出处!!!

你可能感兴趣的:(Java代码怎么修改指定文件名,怎么批量修改文件名)