import java.io.*;
//---------------------------------
// 文件过滤器
class HTMLFilter implements FilenameFilter {
public boolean accept(File directory, String name) {
if (name.endsWith(".html")) return true;
if (name.endsWith(".htm")) return true;
if (name.endsWith(".HTML")) return true;
if (name.endsWith(".HTM")) return true;
return false;
}
}
class BatchEncoder {
String oldFile = null;
public BatchEncoder(String oldFile) {
this.oldFile = oldFile;
File f = new File(oldFile);
tree(f);
}
public void tree(File f) {
File[] childs = f.listFiles(new HTMLFilter());
if (childs == null) {
return;
}
for (int i = 0; i < childs.length; i++) {
if (childs[i].isDirectory()) {
tree(childs[i]);
} else if (childs[i].isFile()) {
parse(childs[i]);
}
}
}
public void parse(File f) {
BufferedReader br = null;
BufferedWriter bw = null;
String UTF = "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />";
String s = "";
try {
InputStreamReader isr = new InputStreamReader(
new FileInputStream(f));
OutputStreamWriter osw = new OutputStreamWriter(
new FileOutputStream("D:\\BatchEncoder_bak\\" + f.getName()),
"UTF-8");
br = new BufferedReader(isr);
bw = new BufferedWriter(osw);
if (!(isr.getEncoding().equals("UTF8"))) {
while ((s = br.readLine()) != null) {
if (!(s.matches("<meta.*charset=UTF-8.*>$"))) {
s = s.replaceAll("<meta.*>$", UTF);
}
bw.write(s);
bw.newLine();
}
bw.flush();
testEncoding(f, osw);
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
br.close();
bw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
public void testEncoding(File f, OutputStreamWriter osw) {
if(f.isFile()) {
if (osw.getEncoding().equals("UTF8")) {
System.out.println(f.getName()
+ " --> Encoding resounding success! current Encoding is: "
+ osw.getEncoding());
} else {
System.out.println(f.getName()
+ " --> Encoding failure! current Encoding is:"
+ osw.getEncoding());
}
}
}
}
// ------------------------------------------------------------
// Main Method
public class TestBatchEncoder {
public static void main(String[] args) {
BatchEncoder be = new BatchEncoder("D:\\BatchEncoder");
}
}
分享到:
相关推荐
批量转换文件编码格式为UTF-8工具.zip 支持多层文件夹替换! 使用说明: 1.文件根目录:即您要转码的文件所在根目录 2.转码文件目录:即您转码后的文件所在目录 3.转码文件后缀:指[文件根目录]下,需要转码的文件后缀,...
综上所述,"网页编码转换工具GB2312转换UTF-8"是一个实用的工具,它简化了不同编码格式之间的转换过程,尤其在处理大量中文文本时,其批量转换功能显得尤为高效。无论是网页开发者、内容创作者还是数据管理人员,都...
本话题将深入探讨批量转换编码格式的方法,以“批量修改文本文件的编码方式至UTF-8或ANSI”为例,主要针对CUE格式文件,同时也适用于其他常见文件类型。 首先,UTF-8是一种广泛使用的多字节字符编码,能够表示...
2. **编码转换**:确保所有动态数据在输出到HTML之前都转化为UTF-8编码。这可以通过设置Response对象的CharSet属性来实现,例如`Response.Charset = "UTF-8"`。 3. **HTML模板构建**:创建HTML模板,将动态数据插入...
"GB/BIG5/UTF-8 文件编码批量转换工具"是一个专门用于处理这三种编码格式之间转换的应用程序,尤其适用于需要整体调整网站编码的场景。 首先,让我们了解这三种编码的特性: 1. **GB(GBK)**:全称为“汉字内码...
首先,EmEditor9支持UTF-8批量搜索和替换,这是它的一大亮点。在处理包含多语言或特殊字符的文本时,UTF-8编码是国际标准,能够确保文本的正确显示。传统的文本编辑器可能无法有效处理这些编码,但EmEditor9却能轻松...
这个程序可以将指定目录下的指定格式文件编码进行批量转换.可以进行转换的操作有:UTF8->ANSI或ANSI->UTF8. 可以方便网站设计人员在这两种编码之间进行转换. 软件为绿色软件,不写入任何注册表信息,不包含任何...
网页模板的字符编码是网页内容显示的关键因素,不同的编码标准如GBK和UTF-8会影响页面在不同环境下的显示效果。GBK是中国大陆广泛使用的简体中文字符集,它扩展了GB2312,包含了更多的汉字。而UTF-8是一种国际通用的...
标题中的“GB/BIG5/UTF-8文件编码批量转换程序”指的是一款能够处理GB、BIG5和UTF-8三种编码格式的文件转换软件。GB(GBK)是中国大陆广泛使用的简体中文编码,包含20902个汉字;BIG5则是主要应用于台湾、香港和海外...
3 源文件编码选择65001 utf-8 4 目标文件编码选择936 gb2312 5 点选"要转换的文件",输入正则表达式: \\.php|\\.html 6 点选"要排除的文件",输入正则表达式: \\test 点击"开始转换"字符编码转换工具就开始转换了,...
总结,通过使用Python和相应的标准库,我们可以轻松地创建一个工具来批量转换目录下的文件编码,确保所有文件都采用UTF-8无BOM格式,这对于维护项目的一致性和兼容性至关重要。在实际开发中,理解和掌握这些编码转换...
标题“WPF XAML 文件格式批量修改为Utf8格式”涉及到的是一个常见的问题,即开发者可能发现他们的XAML文件在升级项目时编码格式不是UTF-8,这可能导致编译错误或显示问题。UTF-8是一种广泛使用的字符编码标准,能...
"批量文件转码工具"就是为了解决这个问题而设计的,它能够帮助用户方便地将大量文件从一种编码格式转换为另一种,如GBK到UTF-8。在Windows操作系统环境下,这个工具被证明是有效且实用的。 GBK编码是中国大陆广泛...
在IT行业中,字符编码是构建跨语言、跨平台应用程序的基础,GBK和UTF-8就是两种常见的字符编码格式。GBK是中国大陆广泛使用的字符编码标准,它兼容GB2312,包含了大量的汉字,而UTF-8是一种多字节的Unicode编码方式...
该工具的主要功能在于批量处理,它可以一次性转换大量GBK编码的网页文件到UTF-8编码,极大地提高了工作效率。在转换过程中,工具会自动备份原文件,并将备份文件以.bak作为后缀名保存,这样即使出现转换错误或需要...
综上所述,Java环境下GBK转UTF-8涉及多个步骤,包括文件的批量转换、本地环境的配置、相关配置文件的修改以及确保整个项目从源代码到部署的各个阶段都采用UTF-8编码。通过这些措施,可以有效解决编码问题,保证程序...
在计算机领域,文件编码是决定文本文件中字符显示方式的关键因素,不同的编码标准如ANSI、UTF-8、UTF-32和Unicode各有特点和适用场景。此工具能够将ASP、PHP和HTML等文件从一种编码格式转换为另一种,提高工作效率,...
PHPvod视频点播系统 2.6 for php5.2.x utf-8 改进列表:2014-01-27 1、修正所有已知的BUG及系统高危漏洞. 2、优化监听器模块 3、新增文档模块及文档调用标签 4、优化RSS模块 5、新增播放地址预处理接口(pv_...
文章中提到了一个Python脚本,该脚本利用了`chardet`库来检测文件的编码类型,并根据需要转换为UTF-8带有BOM头(Byte Order Mark,字节顺序标记)的格式。BOM是Unicode编码的一种标记,它在文件开头添加了几个特定的...
2. **选择目标编码**:在本例中,可以选择将GBK编码转换为UTF-8,或者将UTF-8转换为GBK。 3. **设置输出目录**:用户可以指定转换后文件的保存位置,通常建议与源目录分开,以防止原始文件被覆盖。 4. **执行转码**...