项目中所有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);
}
}
}
分享到:
相关推荐
批量修改替换文本内容, 可以将一个文件夹下的所有文本一次批量修替换内容,可以批量自动查找多个文本里的要替换的内容进行替换,小巧方便。
1. **开始处理**:这是工具启动批量替换操作的入口,用户通过点击此功能,设置好搜索条件和替换规则后,工具将开始对指定目录下的所有文本文件进行处理。 2. **子程序搜索文件**:这是一个内部的易语言子程序,负责...
纯文本批量替换是一款非常专业且优秀的TXT文本替换工具,它能够轻松的帮助用户将TXT文本内容进行替换,可同时替换多个TXT文件到相同或不同的内容,支持批量替换。
`Directory.GetFiles`方法可以获取指定目录下的所有文件,然后对每个文件进行上述的替换操作。 在【文件批量替换.sln】中,这通常是一个Visual Studio解决方案文件,包含了一个或多个项目,用于实现批量替换功能的...
当我们的文本里有些相同的文本内容要替换成其他内容时,可以运用到“文本替换”功能,这一功能在诸多的文本编辑软件里都有,并不算稀奇。但是,如果你有多个文件,想要同时替换它们里面的一些相同内容,显然不是其...
在文本查找替换中,这意味着用户可以指定一个目录,工具会自动遍历目录下的所有文本文件,执行查找和替换操作,节省了大量的手动操作时间。 2. **文本查找** - 在大量文本中查找特定的字符串或模式是文本处理的基础...
2、可以支持文本替换,就是说,只要匹配其中的内容,就可以实现一键将原本的文本内容或者节点的内容,替换成需要替换的内容 可扩展的功能: 1、可以修改代码,将XML文件,替换成txt文件,或者其余类型的文件,都可以...
文件字符替换器是一款高效实用的工具,主要用于在指定目录下批量替换所有文本文件中的特定字符。这个工具在处理大量文本数据时,极大地提高了工作效率,尤其适用于程序员、文档编辑者或需要进行大规模文本处理的用户...
1.10版升级功能:可以将目录下所有文件名改为大写或者小写。...比如目录下有十个文件,每个里面都有“你好”这个内容,如果要将所有的“你好”都换成“您好”,就可以用此软件直接做到,而不必一个一个文件打开来替换。
“文档替换”则意味着这个工具不仅限于单个文件,而是可以处理整个目录或者一批选定的文件,进行大规模的文本替换操作。 在压缩包中,有一个名为`SR32.exe`的文件。根据一般命名惯例,`SR32`可能代表“Search and ...
该工具的核心功能是查找和替换,它支持在多个文件或整个目录中同时进行文本替换操作。用户可以自定义要搜索的文本、替换后的文本以及需要处理的文件类型。这样,无论是简单的字符替换,还是复杂的正则表达式匹配,...
(此软件已有更新 请下载(批量文本文件内容替换工具(第3版))
该工具的核心功能是进行文本替换,可以针对指定目录下的所有文本文件进行批量替换操作。用户只需要设置好查找和替换的字符串,工具便会遍历指定路径下的所有文件,将匹配到的旧内容替换为新内容。这对于程序员、网站...
文本替换专家就解决了这一问题,它可以一次性处理整个文件夹下的所有文本文件,实现全局性的文本替换。 该软件可能包含以下特性: 1. **批量处理**:支持对指定目录下的所有文本文件进行批量替换操作,无需逐个...
在易语言中,“数组”是存储多个相同类型数据的集合,而“文本替换”则是处理字符串时常见的操作,用于在文本中查找特定的字符串并将其替换为新的内容。本篇将详细解析易语言数组文本替换的实现原理及应用。 一、...
"超级批量文本替换"工具正是针对这一需求而设计的,它能够高效地处理大量文本数据,快速查找并替换特定内容。这样的工具对于提高工作效率、减少手动操作的错误具有重要意义。 批量文本替换的基本原理是通过算法遍历...
文本替换专家 v2.5 是一款专为处理大量文本数据而设计的应用程序,它能够高效地在多个文件中查找并替换特定的文本内容。这款工具对于程序员、文档编辑者、网站管理员以及任何需要批量修改文本内容的人来说,都是一款...
文本批量替换工具,可批量替换某一目录下所有文件中的某个文本
《锋利的jquery》利用replacewith替换文本内容
标题“CAD批量文本替换程序”指的是一个专门设计用于AutoCAD环境下的工具,它利用VBA(Visual Basic for Applications)编程语言来实现批量处理CAD文件中的文本替换功能。这个程序允许用户一次性替换多个CAD文件中...