日期:2014-05-20  浏览次数:20833 次

思路疑问
请问怎样修改一个文件夹中的所有扩张名为.java的文件中的相关内容,比如修改  
d;\\新建文件夹\\下的若干个java文件中的内容。我已写好查找文件过滤出java文件,和修改文件中内容的方法
就是不知道怎样把它们结合起来?

这是我的查找文件过滤出java文件的方法:
package xiugai;
//找出路径下所有的文件夹。
import java.io.*;
public class meng {
public static void main(String[] args)throws Exception  {
System.out.println("请输入文件所在的路径");
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
String path=br.readLine();
       // String path = "D:\\File\\workspace\\heima\\src\\fourteen";  
        File root = new File(path);  
        //判断路径  
        if(! root.exists() && root.isDirectory()){  
            System.out.println("路径有误!");  
        }  
        File[] files = root.listFiles(  
            new FilenameFilter(){  
                //文件名称过滤  
                public boolean accept(File dir, String name) {  
                        return name.endsWith(".java");  
                }  
            }  
        );  
        for(File file : files){  
            String Name = file.getName();
         System.out.println(Name); 
        }  
}

}

这是我的修改文件中内容的方法:
package xiugai;
//替换。
import java.io.*;
import java.util.*;
public class Wenjianxiugai {
public static void main(String[] args) throws Exception{

 BufferedReader br=new BufferedReader(new InputStreamReader(new FileInputStream("D:\\JAVA\\workspace\\heima\\src\\nine\\interior1.java"))); 
 BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(new FileOutputStream("D:\\File\\workspace\\heima\\src\\nine\\interior1.java"))); 

 StringBuilder sb=new StringBuilder(); 
 String line; 
 while((line=br.readLine())!=null){ 
 sb.append(line); 
 int index=0; 
 while((index=sb.indexOf("ii",index))!=-1){ 
 sb.replace(index,index+"ii".length(),"oo"); 
 index+="oo".length(); 
 } 
 bw.write(sb.toString(),0,sb.length()); 
 bw.newLine(); 
 sb.delete(0,sb.length()); 
 } 
 br.close(); 
 bw.flush(); 
 bw.close(); 
 
 } 
}

请大神解决感激啊



------解决方案--------------------
仅供参考:

// 文件查找和修改放在一个类里
public class Wenjianxiugai {
    // 此方法查找需要修改的目标文件
    public static File findTargetFile() {
        File file = null;
        // 一系列操作
        return file;
    }
    
    // 此方法针对目标文件进行修改操作
    public static void modify(File file){
        // 一系列操作
    }
    
    public static void main(String[] args) {
        // 方法调用处
        modify(findTargetFile());
    }
}