自总结之如何修改指定目录下的指定文件名及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[],这点要注意哦
修改之后的目录下显示
如果此文章有什么不对的地方请路过的大神指出,以免误人子弟