需求介绍:
在电影天堂上下载了一批电影。但这些电影文件名都有一个比较长的前缀,非常不美观。我想把这些前缀去掉。
编程思路:
通过观察发现,名字前缀有两种,一种是用[]括起来的一段文字,一种是[]括起来的文字加一个.。
步骤:
1,获取所有电影名字
2,找出']'所在位置 public int indexOf(int ch)
3,判断']'的下一位置是不是'.'
4,从']'或'.'的下一位置起复制字符串,public String substring(int beginIndex),得到新的名字
5,改名 使用File类的renameTo(File)方法
源代码:
import java.io.*;
public class RenameMovie{
public static void main(String[] args){
File path = new File(".");
String[] list;
list = path.list();
for(int i = 0; i < list.length; i++)
{
int newNameStart = list[i].indexOf(']');
if(newNameStart == -1)
continue;
if(list[i].charAt(newNameStart+1)=='.')
newNameStart++;
renameFile(".",list[i],list[i].substring(newNameStart+1));
}
}
//重命名文件
public static int renameFile(String path,String oldname,String newname) {
File oldfile = new File(path + "/" + oldname);
File newfile = new File(path + "/" + newname);
if(!oldname.equals(newname) && oldfile.exists() && (!newfile.exists()))
{
oldfile.renameTo(newfile);
return 0;
}
else
{
return -1;
}
}
}
最终效果:
以后再下载了电影再运行一遍就可以啦!耶!
***