您的位置:首页 > 编程语言 > Java开发

java重命名文件(附道客巴巴文档下载方法)

2012-03-17 20:31 218 查看
今天,朋友给我一个道客巴巴的地址,让我帮她下载那篇文章,看了下800积分,8RMB呀。。。

注册个帐号 才送50积分

所以,就打开了歪主意》》》

先想在网上找找看有没有下载器之类的。可惜,没有找到。。。

再想到截图,但是一张一张 截图保存 会死人的 ,180页呐。。。

=====================================================

于是,按照下面的方法截图

1、下载一个叫做HyperSnap的软件,在截图后可以自动保存的软件。省去了截图后保存的步骤;

2、设置电脑屏幕将截图后的效果设置到尽可能地好;

  a、用F11将浏览器最大化,然后通过道客巴巴的切换全屏按钮将文档切换到最大化;  

  b、电脑正常显示一页显示不下,用显卡的显示旋转功能将屏幕显示旋转90°。

  c、通过HyperSnap设置好热键和图片保存路径,开始进行截图。180页,也就是不到2分钟的事。

截出来的图需要放在word里打印,所以用word的图片,添加功能一次性将180张图片就加入word中,结果按照文件名,将snap1添加到了最后一页,比较扯,虽然打印出来反着订起来不影响阅读,但是不打印的情况下就得从最后一页往前看,纠结……

所以,想到写一个批量修改文件名的程序,将文件名批量修改下,是的批量添加后可以不用倒着看》》》

======================================================

首先,查到java里文件重命名的方法为:renameTo();

具体参见java API……

我将180张图片放在d:\\backup下,用下面的程序进行重命名:

public void reName(){
String dir = "D:\\backup\\";
File file = new File(dir);
String fileName[] = file.list();
int number = fileName.length;
File newFile[] = new File[number];

System.out.println("number = " + number);
for(int i=0; i<number; i++) {
System.out.println((i+1) + ":" + fileName[i]);
newFile[i] = new File(dir+fileName[i]);
}
System.out.println("============分割线=============");
for(int i=0; i<number;i++){
boolean flag = newFile[number - (i+1)].renameTo(new File(dir + (i+1)+".bmp"));
if(flag){
System.out.println("重命名成功"+(i+1));
} else {
System.out.println("失败");
}
}
}

PS:java重命名失败的原因主要有以下几个:

1.源文件不存或不可写。

2.目标文件已存在。

3.源文件和目标不是在同一个盘时,不同的盘的文件格式是否相同。

下面是一个将待修改文件名和修改目的文件名分别存入数组中进行重命名的行为,比较不实用,应该将第一个参数改成目录名就好些了,不过,意思到就行了,^-^

/**
*
* @param from 保存需要修改的文件名数组
* @param to  保存修改后的文件名数组
*/
public void reName_1(String from[], String to[]){
int fileLength = from.length;
boolean flag = false;
boolean isOk = false;
int count = 0;
if(fileLength != to.length){
System.out.println("传入数组长度不一致,故不进行重命名操作");
return;
}else{
for(int i=0;i<fileLength;i++){
for(int j=0;j<fileLength;j++){
if(from[i].equals(to[j]) ){
flag = false;
System.out.println("error:存在相同文件名,系统拒绝重命名操作");
return;
}else{
flag = true;
}
}
}
if(flag){
System.out.println("开始进行文件重命名工作》》》");
for(int i=0;i<fileLength;i++){
isOk = new File(from[i]).renameTo(new File(to[i]));
if(isOk){
System.out.println("弟" + (i+1) +"个文件重命名成功");
count++;
}
}
if(count == fileLength){
System.out.println("全部重命名成功");
}else{
System.out.println("存在重命名未成功的文件,请人工查看更改");
}
}
}
}

本来还想写个批量修改按照mp3文件的文件信息修改名称为:歌手+文件名的。

不过读取mp3文件信息还不清楚怎么搞,大概看了下 有开源的jar包,有时间看看那个jar包是怎么写的 再说了,天晚了,该吃饭了。。。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: