首先:你上半部分代码应该和下半部分代码没有关系,你遍历出了所有.java文件确没有用,而是在下面的代码中重新遍历了d:\java目录下所有的文件包括不是以.java为后缀的文件。
其次:你写的这两句代码 File newName = new File(".jad"); File newFile = new File(file2,newName); File类是没有这个构造方法的,那个file2也是错的,编译是不会过的。
把你写的代码整理下可以这么写- // 封装目录
- File file = new File("d:\\java");
- // 获取满足条件的File文件,这里可以直接封装成文件的
- File[] fileArray = file.listFiles(new FilenameFilter() {
- @Override
- public boolean accept(File dir, String name) {
- return new File(dir, name).isFile() && name.endsWith(".java");
- }
- });
- // 遍历所有的.java文件
- for (File f : fileArray) {
- String name = f.getName();
- String newName = name.replace(".java", ".jad");
- // 这里把路径也要封装进去,不然文件就移动到当前的classpath下面了
- File newFile = new File(file, newName);
- System.out.println(newFile.getAbsolutePath());
- f.renameTo(newFile);
- }
复制代码 你可以参考一下。 |