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

解决方案 »

  1.   

    file1.listFiles();这个取不到值,下面如何运行.
      

  2.   

    File file1=new File("D:/李卫华的淘宝网店/360细节图1");
    路径换成英文路径
      试一试
      

  3.   

    写的条件:
    if(!file1.isDircetory() || !file1.exist())//判断存在与否,是否目录
    {
    ..........                                //是的话再进行.listFiles()操作
    }
    else
    {
    ...............
    }
    有java问题,可到javakt.com有专家远程帮你解决
      

  4.   

    file1.listFiles().size()>0判斷里面有沒有文件
      

  5.   

    import java.io.*;
    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;
                          }            
            }
    }有什么不同呢?
      

  6.   

    各位不好意思,已经知道问题所在了,给大家分享分享
    File f=new File(fileName[i].getAbsolutePath(),fileName[i].getName());这里我本来要改的是fileName[i].getAbsolutePath()目录下的文件名,后面的fileName[i].getName()
    是目录的名字,所以修改失败,应该为fileName3[j].getName())这才是文件的名字。
    还是谢谢各位了!!!