编写GUI的一个文件改名程序。要求:
(1)用户选择改名,弹出文件选择对话框,得到用户选择的文件名;
(2)在要求用户选择是单个文件还是批量改名;
(3)如果是单个文件,则将获得的文件直接改名;
(4)如果选择了批量,则只循环当前目录下的文件(不包括子目录),文件名的固定部分允许用户输入。
如:假如当前目录下都是jpg文件,固定部分为“a”,则将所有文件都改成a1.jpg,a2.jpg,a3.jpg,....,a10.jpg,a11.jpg....

解决方案 »

  1.   

    不是回答过了吗? file.renameTo(String)
      

  2.   

    要用到的是JFileChooser类.选中一个文件,这样可以取用subString方法得这个文件夹目录,对应一个File类dir,和这个文件的后缀,用String last变量表示(假设为".jpg");
    还有File类的listFiles();方法取得一个文件夹里的所有文件对象数组.
    File[] files=dir.listFiles();
    然后再用for循环,次数为文件数组个数,循环使用File类的renameTo方法.
    for(int i=0;i<files.length();i++)
    {
       files[i].renameTo("a"+i+last);  
    }
    大约就这么简单.
      

  3.   

    当然,要强调子目录,那么在files数组里可能有子文件夹,那么在循环里加一个判断,用的是File类的isDictionary()方法.可能这样的话会得到a1.jpg,a4.jpg不连续,所以再加一个变量用于连续记数就行了.