import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.Reader;
import java.io.UnsupportedEncodingException;
import java.io.Writer;
public class Main {
String filesDir = "";
String filesNDir = "";
public static void main(String args[]) throws IOException {
cp("C:/Documents and Settings/Administrator/workspace/ABC/",
"C:/Documents and Settings/Administrator/workspace/ABC2",
"UTF-8", "GBK");
}
static void cp(String baseDir, String ndir, String code1, String code2)
throws IOException {
File file = new File(baseDir);
if(file.isDirectory())
new File(ndir).mkdirs();
if (file.isDirectory()) {
String list[] = file.list();
for (String f : list) {
cp(baseDir + "/" + f, ndir + "/" + f, code1, code2);
}
} else {
if (baseDir.indexOf(".php") > 0 || baseDir.indexOf(".html") > 0 || baseDir.indexOf(".js") > 0 || baseDir.indexOf(".xml") > 0 || baseDir.indexOf(".css") > 0) {
convert(baseDir, ndir, code1, code2);
InputStreamReader read = new InputStreamReader(
new FileInputStream(baseDir), code1);// 或者UNICODE,UTF-16
BufferedReader reader = new BufferedReader(read);
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
reader.close();
read.close();
}
}
}
public static void convert(String infile, String outfile, String from,
String to) throws IOException, UnsupportedEncodingException {
// set up byte streams
InputStream in;
if (infile != null)
in = new FileInputStream(infile);
else
in = System.in;
OutputStream out;
if (outfile != null)
out = new FileOutputStream(outfile);
else
out = System.out;
// Use default encoding if no encoding is specified.
if (from == null)
from = System.getProperty("file.encoding");
if (to == null)
to = System.getProperty("file.encoding");
// Set up character stream
Reader r = new BufferedReader(new InputStreamReader(in, from));
Writer w = new BufferedWriter(new OutputStreamWriter(out, to));
// Copy characters from input to output. The InputStreamReader
// converts from the input encoding to Unicode,, and the
// OutputStreamWriter
// converts from Unicode to the output encoding. Characters that cannot
// be
// represented in the output encoding are output as '?'
char[] buffer = new char[4096];
int len;
while ((len = r.read(buffer)) != -1)
w.write(buffer, 0, len);
r.close();
w.flush();
w.close();
}
}
写道
分享到:
相关推荐
相当不错的文件编码转换工具,批量转换,省时省力。极力推荐!!
在信息化社会,数据交流频繁,各种文本文件、网页等都需要在不同的系统和平台间传递,而这些系统可能采用不同的字符编码标准,这就需要有字符集编码转换工具来确保信息的正确性和完整性。 字符集编码是计算机存储和...
本工具名为"批量文件编码转换工具",专门针对那些需要处理大量文件编码问题的用户,能够有效地节省时间和精力。 GB2312编码,全称“中华人民共和国国家标准汉字编码”,是简体中文字符集的一种标准,主要应用于早期...
标题中的“批量转换字符集的小工具”指的是一个能够处理大量文件,将它们的字符编码从一种格式转换到另一种格式的应用程序。在IT领域,字符集转换是常见的需求,尤其是在处理不同地区、语言或平台的文本数据时。例如...
《超级批量编码转换 1.0》是一款专为办公领域设计的高效实用工具,它能够帮助用户快速地处理大量文件的编码转换问题。在日常工作中,我们常常会遇到不同编码格式的文本文件,如ASCII、UTF-8、GBK等,这些不同的编码...
本文将深入探讨“文件编码格式批量转换工具”,重点讲解如何将文件从一种编码格式转换为UTF-8编码,以及涉及的字符集和Java编程语言的相关知识。 标题“文件编码格式批量转换工具.rar”表明这是一个可以处理多个...
2. **正确选择编码**:确认目标编码的正确性,错误的编码转换可能导致文件内容无法正确显示。 3. **处理异常情况**:部分文件可能由于特殊编码或含有非标准字符,导致转换失败。软件应提供相应的错误提示和处理机制...
在PowerBuilder(PB)开发中,处理不同字符集之间的转换是一项常见的任务,特别是在与不同系统交互或者处理多语言数据时。本压缩包“pb调用外部函数进行字符集转换.zip”提供了一些方法来实现UTF-8、GB2312和CP936...
编码转换工具可以帮助用户理解这些文本,尤其是在遇到非标准编码或不常见的字符集时。 5. **gbk2utf**:这个可能是程序或脚本的文件名,表明它的功能是将GBK编码转换为UTF-8编码。在实际应用中,这样的工具可以批量...
4. **字符编码转换工具**:如"ultracodingswitch.exe"这样的工具,它们提供用户界面,方便用户选择源文件或文件夹,以及目标编码格式,进行批量转换。这些工具能够解决不同编码格式之间不兼容导致的乱码问题,比如在...
Unicode是一种国际标准,包含了世界上几乎所有的字符集,包括中文字符。它的使用可以避免由于编码不兼容导致的乱码问题。许多老旧的TXT文件可能采用GB2312、GBK或其他非Unicode编码,这些编码在现代设备上可能出现...
针对批量修改文件编码的需求,这里提供了一个名为“Ansi 2 Utf8.exe”的工具,它能够帮助用户快速地将TXT、CUE等文件从ANSI编码转换为UTF-8编码,反之亦然。这个工具支持的文件扩展名非常广泛,包括.txt、.html、....
不同的编码方式决定了字符集的大小和覆盖的字符范围。例如,ASCII只包含英文字符,而GBK则包含了更多的中文字符。UTF-8是一种多字节编码,可以表示世界上大部分语言的字符。 2. 自动检测编码的技术: 工具通常采用...
不同的编码标准决定了字符集的表示方式,从而影响着文件的读取、存储和传输。本篇将详细讲解"GB/BIG5/UTF-8 文件编码批量转换程序"的相关知识点。 1. **文件编码** - **GBK(GB2312)**:GBK是中国大陆广泛使用的...
总而言之,这个基于Qt5.9开发的文件编码转换工具,能够帮助用户批量处理UTF-8与GB2312编码的转换,解决因编码不匹配导致的乱码问题。同时,由于采用了Qt框架,该工具具备了跨平台、丰富的功能集以及良好的用户体验。...
5. **批量转换**:确认设置无误后,点击开始转换按钮,工具将逐个处理文件,完成编码转换。 6. **注意只读文件**:在进行转换时,若遇到只读属性的文件,工具会跳过或者提示用户取消只读属性,以防止软件崩溃。 在...
不同的编码方式决定了字符集的范围和字符的二进制表示。GBK是中国大陆广泛使用的编码,包含了大部分中文字符;而UTF-8是一种国际通用的编码,能够表示世界上几乎所有的字符。 在Java中,进行文件编码转换主要涉及`...
批量转换文件编码的过程通常包括以下步骤: 1. **读取文件**:使用`StreamReader`打开文件,指定合适的编码。如果不确定编码,可以尝试读取BOM或使用`StreamReader`的自动检测功能。 ```csharp using (var reader ...