gb2312转utf8 java_Java实现GB2312文件转UTF8文件

有些书带的光盘的源代码是GB2312编码.通常IDE的编码是UTF8.这样直接导入IDE会乱码. 这时候就需要把GB2312的文件转成UTF8的文件.转化的思路很简单,读入流初始化的时候告诉jvm是GB2312编码,读入后jvm内部会转成UNICODE,写出的时候再告诉jvm以UTF8的形式写出即可.源代码如下:

import java.io.*;

public class Convert {

private void process() {

String srcFile = "D:\\test1\\MatrixState.java";//gb2312编码

String destFile = "D:\\test2\\MatrixState.java";//UTF8编码

InputStream is = null;

InputStreamReader isr = null;

BufferedReader br = null;

OutputStream os = null;

OutputStreamWriter osw = null;

BufferedWriter bw = null;

try {

is = new FileInputStream(srcFile);

isr = new InputStreamReader(is, "gb2312");

br = new BufferedReader(isr);

os = new FileOutputStream(destFile);

osw = new OutputStreamWriter(os, "UTF-8");

bw = new BufferedWriter(osw);

String line;

for (line = br.readLine(); line != null; line = br.readLine()) {

System.out.println("line=" + line);

bw.write(line + "\n");

}

} catch (IOException e) {

e.printStackTrace();

} finally {

if (br != null) {

try {

br.close();

} catch (IOException e) {

e.printStackTrace();

}

}

if (isr != null) {

try {

isr.close();

} catch (IOException e) {

e.printStackTrace();

}

}

if (is != null) {

try {

is.close();

} catch (IOException e) {

e.printStackTrace();

}

}

if (bw != null) {

try {

bw.flush();

} catch (IOException e) {

e.printStackTrace();

}

try {

bw.close();

} catch (IOException e) {

e.printStackTrace();

}

}

if (osw != null) {

try {

osw.close();

} catch (IOException e) {

e.printStackTrace();

}

}

if (os != null) {

try {

os.close();

} catch (IOException e) {

e.printStackTrace();

}

}

}

}

public static void main(String[] args) {

new Convert().process();

}

}

使用java 程序创建格式为utf-8文件的方法(写入和读取json文件)

使用java 程序创建格式为utf-8文件的方法:  try{            File file=new   File("C:/11.jsp");              ...

写了一个简易的GBK文件向UTF8文件转换的工具

package com.bocom.framework.util; import java.io.BufferedReader; import java.io.BufferedWriter; impo ...

Java读带有BOM的UTF-8文件乱码原因及解决方法

原因: 关于utf-8编码的txt文件,windows以记事本方式保存时会在第一行最开始处自动加入bom格式的相关信息,大概三个字节! 所以java在读取此类文件时第一行时会多出三个不相关的字节,这样 ...

gbk文件转为utf8文件

convmv -f gbk -t utf- --notest -r ./

Spark读取HDFS文件,文件格式为GB2312,转换为UTF-8

package iie.udps.example.operator.spark; import scala.Tuple2; import org.apache.hadoop.conf.Configur ...

把TXT GB2312文件转换成TXT UTF8文件

///         /// 把TXT GB2312文件转换成TXT UTF8文件        ///         /// &lt ...

随机推荐

第三方侧滑菜单SlidingMenu在android studio中的使用

南尘:每天进步一点点! 前面讲了官方的侧滑菜单DrawerLayout的使用,其实早在官方没有推出这个之前,就有很多第三方的jar包如SlidingMenu等,感谢开源的力量. SlidingMenu ...

jquery总结03-遍历节点

这是用的最多的 向下遍历节点 children()   第一级子元素 相当于li>span find()  多级子孙元素 相当于li span 注意:.filter(':contains(&qu ...

全国信息学奥林匹克联赛(NOIP2014)复赛 模拟题Day2 长乐一中

题目名称 改造二叉树 数字对 交换 英文名称 binary pair swap 输入文件名 binary.in pair.in swap.in 输出文件名 binary.out pair.out sw ...

Ios入门

storyboard 文件的认识 用来描述软件界面 默认情况下程序启动就会加载Main.storyboard 加载storyboard时,会首先创建和显示箭头所指向的控制器界面 什么是UIscroll ...

Portal技术综述

从上世纪八十年代起,随着个人计算机(PC)的发展,企事业单位逐步建立起计算机应用系统来处理传统事务.从简单的单机应用逐步发展到局域网系统,进而建立跨地区垮国家的广域网系统.从单纯的以科学计算和数据管理 ...

ENC28J60 + M430G2553,用uip搭建http服务器,解决“在XP系统下可以访问,在Win7下不能访问”的问题

近日,用ENC28J60,在M430G2553上搭建一个简单的HTTP服务器,结果发现在XP系统下可以访问,在Win7下不能访问,非常奇葩的问题. 通过抓包,如下图,计算机(IP地址为192.168. ...

zeromq源码分析笔记之架构(1)

1.zmq概述 ZeroMQ是一种基于消息队列的多线程网络库,其对套接字类型.连接处理.帧.甚至路由的底层细节进行抽象,提供跨越多种传输协议的套接字.引用云风的话来说:ZeroMQ 并不是一个对 so ...

Linux的启动流程(一)

· 启动第一步--加载BIOS 当你打开计算机电源,计算机会首先加载BIOS信息,BIOS信息是如此的重要,以至于计算机必须在最开始就找到它.这是因为BIOS中包含了CPU的相关信息.设备启动顺序信息 ...

SQL语句检索数据排序及过滤

阅读目录 一:排序检索数据 二:过滤数据 三:高级数据过滤 四:用通配符进行过滤 回到顶部 一:排序检索数据 1.1 排序数据 比如查询数据库中表数据的时候,我们使用如下语句: select * fr ...

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值