项目中所有JSP文件编码要从gb2312替换为gbk,写了个方法,记录一下备用
replace(new File("E:\\java_workspace\\tttt\\WebRoot"), new String[]{"jsp", "html"}, new String[]{"gb2312", "GB2312"}, "GBK");
/**
* 替换文件路径下所有满足条件的文件中的某些字符串
* @param path
* @param fileNameSurffix
* @param toReplace
* @param src
*/
public static void replace(
File folder, final String[] fileNameSurffixes,
String[] oldChars, String newChar) {
File[] subFiles = folder.listFiles(new FilenameFilter() {
@Override
public boolean accept(File dir, String name) {
if(new File(dir + File.separator + name).isDirectory()) {
return true;
}
if(fileNameSurffixes == null || fileNameSurffixes.length == 0) {
return true;
}
for(String surf : fileNameSurffixes) {
if(name.endsWith("." + surf)) {
return true;
}
}
return false;
}
});
if(subFiles == null || subFiles.length == 0) {
return;
}
for(File f : subFiles) {
if(f.isFile()) {
if(!f.canRead() || !f.canWrite()) {
System.err.println("【不能修改】" + f.getAbsolutePath());
continue;
}
Scanner in = null;
StringBuffer content = new StringBuffer("");
String line = "";
boolean found = false;
try { //读取并替换内容到content
in = new Scanner(f);
while(in.hasNextLine()) {
line = in.nextLine();
for(String oldChar : oldChars) {
if(line.contains(oldChar)) {
found = true;
line = line.replace(oldChar, newChar);
}
}
content.append(line);
content.append("\r\n");
}
System.out.println("【读取】" + f.getAbsolutePath());
} catch(Exception e) {
System.err.println("【读取失败】" + f.getAbsolutePath());
e.printStackTrace();
} finally {
if(in != null) {
in.close();
}
}
if(found) {
PrintWriter out = null;
try {
out = new PrintWriter(new FileOutputStream(f, false));
out.write(content.toString());
out.flush();
System.out.println("【替换】" + f.getAbsolutePath());
} catch (Exception e) {
System.err.println("【替换失败】" + f.getAbsolutePath());
e.printStackTrace();
} finally {
if(out != null) {
out.close();
}
}
} else {
System.out.println("【跳过】" + f.getAbsolutePath());
}
} else {
replace(f, fileNameSurffixes, oldChars, newChar);
}
}
}
分享到:
相关推荐
批量修改替换文本内容, 可以将一个文件夹下的所有文本一次批量修替换内容,可以批量自动查找多个文本里的要替换的内容进行替换,小巧方便。
纯文本批量替换是一款非常专业且优秀的TXT文本替换工具,它能够轻松的帮助用户将TXT文本内容进行替换,可同时替换多个TXT文件到相同或不同的内容,支持批量替换。
C# 文本内容批量替换C# 文本内容批量替换
1.10版升级功能:可以将目录下所有文件名改为大写或者小写。...比如目录下有十个文件,每个里面都有“你好”这个内容,如果要将所有的“你好”都换成“您好”,就可以用此软件直接做到,而不必一个一个文件打开来替换。
(此软件已有更新 请下载(批量文本文件内容替换工具(第3版))
当我们的文本里有些相同的文本内容要替换成其他内容时,可以运用到“文本替换”功能,这一功能在诸多的文本编辑软件里都有,并不算稀奇。但是,如果你有多个文件,想要同时替换它们里面的一些相同内容,显然不是其...
DOS文本替换DOS文本替换DOS文本替换DOS文本替换DOS文本替换DOS文本替换DOS文本替换DOS文本替换DOS文本替换DOS文本替换
一个简单的文件字符替换器,可以批量替换一个目录下的所有文本类型数据。简单实用。修改自网友的源码,有备份功能,比较方便一些.
文本替换工具文本替换工具文本替换工具文本替换工具文本替换工具文本替换工具文本替换工具
文本批量替换工具,可批量替换某一目录下所有文件中的某个文本
《锋利的jquery》利用replacewith替换文本内容
文本替换工具,当你有很多文件要修时就会用到这个,批量替换支持多种文本格式!
文本替换专家文本替换工具
超级批量文本替换,可以快速查询,替换内容
软件是文本替换的利器,批量文本替换的不二之选,站长必备,挂马网页杀手,支持所有纯ANSI文件,支持GBK/Unicode/UTF8编码的htm、html、asp、java、php等文件,可自定义所支持的文件类型,支持16进制替换,支持单行...
文本替换专家,使用简单,功能强大,支持多级目录同时替换,支持大小写匹配,支持文件备份,支持文件查找,智能历史替换方案记录以及智能备份文件批量还原系统,让文本查找、批量查找、替换、批量替换、重复查找替换...
今天分享一个一键批量替换文件内容的脚本给大家,我们通过脚本可以一键,批量修改和替换文本内容,只需要在配置文件中,设置好我们想要替换的内容,中间用空格隔开,bat脚本就会自动将我们设置的内容,一键批量替换...
C#.NET写的(运行时需要.NET2.0) 批量文件代码替换工具, 除了可以进行普通的批量文件替换外, 还可以可进行 ...2.替换的内容中填写"已替换的内容" 3.打开目标文件夹并执行 结果: 已替换的内容</htm>
文本替换专家文本替换专家文本替换专家文本替换专家文本替换专家文本替换专家文本替换专家文本替换专家