思路疑问
请问怎样修改一个文件夹中的所有扩张名为.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());
}
}