编写一方法:
public void replaceConten(String dir,String filter,String find,String replace);
将指定目录下符合条件的文件字符串替换,其他,dir为指定目录,filter为文件名过滤串,如:"*.java","*.txt",find为待替换的字符串,replace为要替换的字符串。
public void replaceConten(String dir,String filter,String find,String replace);
将指定目录下符合条件的文件字符串替换,其他,dir为指定目录,filter为文件名过滤串,如:"*.java","*.txt",find为待替换的字符串,replace为要替换的字符串。
if(fDir.exists())
{
List list=fDir.list();
for(..)//遍历list
{
File f=(File)iter.next();//一个一个的取File
if(f.getFileName().toLowerCase().endsWith(filter.toLowerCase()))
{
replaceFileContent(f,find,replace);
}
}
}private void replaceFileContent(File f,String find,String replace)
{
BufferReader br=....//基于f的读取器
FileOutputStream fos...//临时文件输出流,建议用Writer;
while(...)//遍历文件内容
{
String line=br.readLine();//一行一行读
line.replaceAll(find,replace);//替换一行内容
fos.write(line.getBytes());...
}
...// 将临时文件替换原文件.
}
public class Rename {
public void replaceConten( String dir,
String filter,
String find,
String replace){
File f = new File(dir);
String[] files = f.list();
for(int i=0; i<files.length; i++){
File tmp = new File(dir+"\\"+files[i]);
if(files[i].toLowerCase().endsWith(filter.toLowerCase())){
tmp.renameTo(new File(dir+"\\"+files[i].replaceAll(find,replace)));
}
}
}
public static void main(String args[]){
new Rename().replaceConten("d:/tmp","txt","bc","B");
}
}
简单,易懂
像这样就行.