[code=Jaba]
import java.io.*;
public class study {
   public static void main(String[] args) {
       File directory = new File("C:/Users/Administrator/java");
       File[] files = directory.listFiles();
       System.out.println(files.length);
       for (int i = 0; i < files.length; i++) {
        String fileName=files[i].getName();
      String prefix=fileName.substring(fileName.lastIndexOf(".")+1);
           System.out.println(prefix);
           if(prefix != "txt")
           {
           files[i].renameTo(new File(fileName.substring(0,fileName.lastIndexOf('.'))+".back"));
           }
           System.out.println(files[i].getName());
       }
   }
}[/code]

解决方案 »

  1.   


    import java.io.*;
    public class study {
       public static void main(String[] args) {
           File directory = new File("C:/Users/Administrator/java");
           File[] files = directory.listFiles();
           System.out.println(files.length);
           for (int i = 0; i < files.length; i++) {
            String fileName=files[i].getName();
          String prefix=fileName.substring(fileName.lastIndexOf(".")+1);
               System.out.println(prefix);
               if(prefix != "txt")
               {
               files[i].renameTo(new File(fileName.substring(0,fileName.lastIndexOf('.'))+".back"));
               }
               System.out.println(files[i].getName());
           }
       }
    }
      

  2.   

    这贴废了,我怎么老是出错呢import java.io.*;
    public class study {
       public static void main(String[] args) {
           File directory = new File("C:/Users/Administrator/java");
           File[] files = directory.listFiles();
           System.out.println(files.length);
           for (int i = 0; i < files.length; i++) {
            String fileName=files[i].getName();
          String prefix=fileName.substring(fileName.lastIndexOf(".")+1);
               System.out.println(prefix);
               if(prefix == "txt")
               {
               files[i].renameTo(new File(fileName.substring(0,fileName.lastIndexOf('.'))+".back"));
               }
               System.out.println(files[i].getName());
           }
       }
    }
      

  3.   

    三楼才是我的程序,我的问题是为什么if(prefix=="txt")这条语句没有起到作用呢?
      

  4.   

    字符串比较最好是用equals方法
      

  5.   

    如果只是将txt改成back的话,直接用
    File file=new File("c:/test.txt "); 
    file.renameTo(new File("c:/test.back ")); 
    如果是别的格式的话要将内容读取出来以后再重新生成比较好
      

  6.   

    要求是必须把一个目录下所有的后缀为“txt”的文件进行修改。。谢谢你的回答
      

  7.   

    哈哈,又是引用的问题。通过equals就可以了