import java.io.*;
public class E3
{
public static void main(String args[]){
File file1=new File("D:/李卫华的淘宝网店/360细节图1");
File fileName[]=file1.listFiles();
for(int i=0;i<fileName.length;i++){
System.out.println(fileName[i].getName());
if(fileName[i].length()==0) { fileName[i].delete();}
File file2=new File(fileName[i].getAbsolutePath());
String fileName2[]=file2.list();
File fileName3[]=file2.listFiles();
for(int j=0;j<fileName3.length;j++){
String str1=fileName2[j].replace(fileName2[j],fileName[i].getName());
String str2=str1+"-"+j+".jpg";
File f=new File(fileName[i].getAbsolutePath(),fileName[i].getName());
boolean succ=f.renameTo(new File(str2));
System.out.println(succ);
System.out.print(str2+" ");
f=null;}
}
}
}
为什么succ总是返回false
public class E3
{
public static void main(String args[]){
File file1=new File("D:/李卫华的淘宝网店/360细节图1");
File fileName[]=file1.listFiles();
for(int i=0;i<fileName.length;i++){
System.out.println(fileName[i].getName());
if(fileName[i].length()==0) { fileName[i].delete();}
File file2=new File(fileName[i].getAbsolutePath());
String fileName2[]=file2.list();
File fileName3[]=file2.listFiles();
for(int j=0;j<fileName3.length;j++){
String str1=fileName2[j].replace(fileName2[j],fileName[i].getName());
String str2=str1+"-"+j+".jpg";
File f=new File(fileName[i].getAbsolutePath(),fileName[i].getName());
boolean succ=f.renameTo(new File(str2));
System.out.println(succ);
System.out.print(str2+" ");
f=null;}
}
}
}
为什么succ总是返回false
路径换成英文路径
试一试
if(!file1.isDircetory() || !file1.exist())//判断存在与否,是否目录
{
.......... //是的话再进行.listFiles()操作
}
else
{
...............
}
有java问题,可到javakt.com有专家远程帮你解决
public class E4{
public static void main(String args[]){
File file1=new File("D:/李卫华的淘宝网店/360细节图2");
File fileName1[]=file1.listFiles();
for(int i=0;i<fileName1.length;i++){
System.out.println(fileName1[i].getName());
if(fileName1[i].length()==0) fileName1[i].delete();
File file2=new File(fileName1[i].getAbsolutePath());
File fileName2[]=file2.listFiles();
for(int j=0;j<fileName2.length;j++){
System.out.print(fileName2[j].getName()+" ");
String str=fileName1[i].getName()+"-"+j+".jpg";
File file3=new File(fileName1[i].getAbsolutePath(),fileName2[j].getName());
File file4=new File(fileName1[i].getAbsolutePath(),str);
boolean succes=file3.renameTo(file4);
System.out.println(succes);
}
System.out.print("\n");
file2=null;
}
}
}有什么不同呢?
File f=new File(fileName[i].getAbsolutePath(),fileName[i].getName());这里我本来要改的是fileName[i].getAbsolutePath()目录下的文件名,后面的fileName[i].getName()
是目录的名字,所以修改失败,应该为fileName3[j].getName())这才是文件的名字。
还是谢谢各位了!!!