扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
问题描述不知道是不是需要改这个:
网站建设哪家好,找创新互联公司!专注于网页设计、网站建设、微信开发、小程序制作、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了永兴免费建站欢迎大家使用!
文件编码转换方法:ant
build.xml
代码
project name="encoding" default="build"
target name="build"
copy todir="e:/output" outputencoding="GBK"
fileset dir="."
include name="**/*.html"/
/fileset
/copy
/target
/project
先把源代码全部用GBK格式拷贝到e:/output,然后再把output中的所有文件拷贝到原先的地方就可以。
html内容显示编码:
meta http-equiv="content-type" content="text/html; charset=“utf-8" /
从
字节流
转换为String
(Unicode),字节流可以是GB系列、UTF-8等多种编码:
ResultSet
rs;
bytep[]
bytes
=
rs.getBytes();
String
str
=
new
String(bytes,
"
gb2312
");
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.InputStreamReader;
import java.io.OutputStreamWriter;
import java.nio.charset.Charset;
public class gbk2utf8 {
public static void main(String[] args) throws InterruptedException, IOException {
gbk2utf8 tt = new gbk2utf8();
tt.copyAll("E:\\mine\\GitHub\\mytest\\myJar\\src", "E:/test");
}
public void copyAll(String dir,String des) throws IOException{
File parent = new File(dir);
System.err.println(parent.getAbsolutePath());
String[] allFile = parent.list();
for (String string : allFile) {
File file = new File(dir+"/"+string);
if(file.isFile()){
this.copy(file,des);
}else{
File newDes = new File(des+"/"+string);
if(!newDes.exists()) newDes.mkdir();
this.copyAll(dir+"/"+string,des+"/"+string);
}
}
}
public void copy(File file,String des) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(
new FileInputStream(file), Charset.forName("gbk")));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(
new FileOutputStream(des+"/"+file.getName()), Charset.forName("UTF-8")));
String lineTxt = null;
while ((lineTxt = br.readLine()) != null) {
bw.write(lineTxt);
bw.newLine();
}
bw.flush();
bw.close();
br.close();
}
}
文件编码转换方法:ant
build.xml
代码
project name="encoding" default="build"
target name="build"
copy todir="e:/output" outputencoding="GBK"
fileset dir="."
include name="**/*.html"/
/fileset
/copy
/target
/project
先把源代码全部用GBK格式拷贝到e:/output,然后再把output中的所有文件拷贝到原先的地方就可以。
html内容显示编码:
meta http-equiv="content-type" content="text/html; charset=“utf-8" /
Java中字符串转码,根据实际运用的环境有以下三种方式
1、使用Java.lang.String
这是最常用的方法,先用对应编码获取字节,然后重新构造新编码,示例代码如下:
String s = "清山";
byte[] b = s.getBytes("utf-8");//编码
String sa = new String(b, "gb2312");//解码:用什么字符集编码就用什么字符集解码
2、java.io.InputStreamReader/OutputStreamWriter:桥转换
读写文件的应用中,可以使用这种方式,直接在IO流构造中转换,示例代码如下:
InputStream is = new FileInputStream("C:/项目进度跟踪.txt");//文件读取
InputStreamReader isr = new InputStreamReader(is, "utf-8");//解码
OutputStream os = new FileOutputStream("C:/项目进度跟踪_gb2312.txt");//文件输出
OutputStreamWriter osw = new OutputStreamWriter(os, "gb2312");//开始编码
3、java.nio.Charset
使用nio中的Charset转换字符,示例代码如下:
Charset inSet = Charset.forName("utf-8"); // 解码字符集
Charset outSet = Charset.forName("gb2312"); // 编码字符集
CharsetDecoder de = inSet.newDecoder(); // 解码器
CharsetEncoder en = outSet.newEncoder();// 编码
不写代码的话可以直接找个批量转换文本编码的软件搞定。
写代码稍微复杂一些。
新建一个目录
遍历递归原工程目录,以gbk编码读取,以utf8编码写文件到新的目录下即可。
手动重命名工程为 工程备份
手动重命名新目录为 工程名
检查无误后删除工程备份
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流