java如何实现任意编码文件转UTF8 inputString str=new String(input.getBytes,"UTF-8"); 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 先读取文件,然后 Writer w = new OutputStreamWriter(new FileOutputStream(destFileName), "utf-8"); jsjszg 说得对new String(input.getBytes,"UTF-8");这个是会不正确的 因为获取到的就不对 转码 导致转码也不会正确 一个移植到Java下的编码探测库 JAVA判断文件编码类型Java版文件编码转换工具你可以打开jar包查看源代码 java中判断字符编码的格式以及转码 一个系统应该是定下来的,编码格式。从前台到后台保持统一即可。转换的方法就像1L和2L讲的,是这样的,但是如果项目的编码格式不是UTF-8,或者文件内容本身就不是UTF-8写进去的,强转为UTF-8的结果,还是乱码的。LZ可以试试在windows下读取一个txt文档(包含中文字符,如果是中文操作系统,默认会是GBK格式的),然后将读取的字符串转成UTF-8,然后控制台打印下看看,会是乱码的。 感谢大家的帮助我的问题 自己解决了 最终确定了 只有可能三种编码方式 我一一判断 转码成功了但是现在出现别一个问题因为转码是给Unix用的。。转码后在Unix上看到的每行都会有个"^M"我知道这个是Unix的换行结束符。。我想知道怎么避免我的程序转码后在Unix上查看正确并不会出现这个"^M" 需要在我的原程序 上修改些什么 楼主可以贴出你解决方案的代码看看么。我现在也有个需求要读取windows下的文件保存在utf-8的数据库clob字段中 public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(new File("F:\\test\\io\\1.txt")),"gbk")); BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(new File("F:\\test\\io\\2.txt")),"utf-8")); int ch = 0; while((ch=br.read()) != -1){ bw.write(ch); } bw.flush(); br.close(); bw.close(); }粗略写了下 如果在Android 子线程中更新ui Java编写增删改查,不使用数据库(用IO,或者集合框架) 顺序写properties文件 连接oracle不同版本驱动能通用吗 大家近来帮帮忙!!!!(新手问题) 怎么搭建WEB服务器? drill down at INT type. 抽象类的构造方法能为它的子类做些什么? jbuilder8的一个简单问题 定义和声明的区别是什么? 函数调用问题 请问怎么模仿String 写一个 字符串类 直接用等号接收一个字符串
Writer w = new OutputStreamWriter(new FileOutputStream(destFileName), "utf-8");
new String(input.getBytes,"UTF-8");这个是会不正确的
因为获取到的就不对 转码 导致转码也不会正确
Java版文件编码转换工具
你可以打开jar包查看源代码
但是现在出现别一个问题因为转码是给Unix用的。。转码后在Unix上看到的每行都会有个"^M"
我知道这个是Unix的换行结束符。。我想知道怎么避免我的程序转码后在Unix上查看正确并不会出现这个"^M"
需要在我的原程序 上修改些什么
BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(new File("F:\\test\\io\\1.txt")),"gbk"));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(new File("F:\\test\\io\\2.txt")),"utf-8"));
int ch = 0;
while((ch=br.read()) != -1){
bw.write(ch);
}
bw.flush();
br.close();
bw.close();
}
粗略写了下