- 浏览: 160183 次
- 性别:
- 来自: 北京
最新评论
-
tanliwei:
Mr-su 写道行业(xingye),why?行是个多音字。
...
利用Java开源库把汉字转拼音 -
u148:
java.io.IOException: Stream clo ...
自己封装的一个编码转换工具类 -
Mr-su:
行业(xingye),why?
利用Java开源库把汉字转拼音 -
364902709:
此意悠悠 写道不可能的,java反射刚出来,最差的时候是正常编 ...
测试Java反射效率 -
此意悠悠:
不可能的,java反射刚出来,最差的时候是正常编程的10倍时间 ...
测试Java反射效率
java做编码转换有两中方法
1.基于流的编码转换
InputStream is = Main.class.getResourceAsStream(fileName); BufferedReader br = new BufferedReader(new InputStreamReader(is, "utf-8")); String tmp; while((tmp = br.readLine()) != null){ System.out.println(tmp); }
2.基于字符的编码转换
InputStream is = Main.class.getResourceAsStream(fileName); BufferedReader br = new BufferedReader(new InputStreamReader(is, "utf-8")); String tmp; while((tmp = br.readLine()) != null){ System.out.println(tmp); }
我这里用的是第一种方法,其他不多说了直接贴代码了
import java.io.ByteArrayInputStream; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.Reader; public class EncodingConverter { public static final String UTF_8 = "UTF-8"; public static InputStream converter(InputStream is, String srcEnc, String tarEnc) throws IOException { // builder a reader using source encoding Reader reader = new InputStreamReader(is, srcEnc); StringBuilder sb = new StringBuilder(); // read content int c; while ((c = reader.read()) != -1) { sb.append((char) c); } reader.close(); // get byte array InputStream tarIs = new ByteArrayInputStream(sb.toString().getBytes(tarEnc)); return tarIs; } public static InputStream converterToUTF(InputStream is, String srcEnc) throws IOException { // builder a reader using source encoding Reader reader = new InputStreamReader(is, srcEnc); StringBuilder sb = new StringBuilder(); // read content int c; while ((c = reader.read()) != -1) { sb.append((char) c); } reader.close(); // get byte array InputStream tarIs = new ByteArrayInputStream(sb.toString().getBytes("utf-8")); return tarIs; } public static byte[] converterToByteArray(InputStream is, String srcEnc, String tarEnc) throws IOException { // builder a reader using source encoding Reader reader = new InputStreamReader(is, srcEnc); StringBuilder sb = new StringBuilder(); // read content int c; while ((c = reader.read()) != -1) { sb.append((char) c); } reader.close(); // get byte array return sb.toString().getBytes(tarEnc); } public static byte[] converterToUTFByteArray(InputStream is, String srcEnc) throws IOException { // builder a reader using source encoding Reader reader = new InputStreamReader(is, srcEnc); StringBuilder sb = new StringBuilder(); // read content int c; while ((c = reader.read()) != -1) { sb.append((char) c); } reader.close(); // get byte array return sb.toString().getBytes("utf-8"); } public static String converterToString(InputStream is, String srcEnc, String tarEnc) throws IOException { // builder a reader using source encoding Reader reader = new InputStreamReader(is, srcEnc); StringBuilder sb = new StringBuilder(); // read content int c; while ((c = reader.read()) != -1) { sb.append((char) c); } reader.close(); return sb.toString(); } public static String converterToUTFString(InputStream is, String srcEnc) throws IOException { // builder a reader using source encoding Reader reader = new InputStreamReader(is, srcEnc); StringBuilder sb = new StringBuilder(); // read content int c; while ((c = reader.read()) != -1) { sb.append((char) c); } reader.close(); return sb.toString(); } public static InputStream converter(byte[] bytes, String srcEnc, String tarEnc) throws IOException { // builder a reader using source encoding InputStream is = new ByteArrayInputStream(bytes); Reader reader = new InputStreamReader(is, srcEnc); StringBuilder sb = new StringBuilder(); // read content int c; while ((c = reader.read()) != -1) { sb.append((char) c); } reader.close(); // get byte array InputStream tarIs = new ByteArrayInputStream(sb.toString().getBytes(tarEnc)); return tarIs; } public static InputStream converterToUTF(byte[] bytes, String srcEnc) throws IOException { // builder a reader using source encoding InputStream is = new ByteArrayInputStream(bytes); Reader reader = new InputStreamReader(is, srcEnc); StringBuilder sb = new StringBuilder(); // read content int c; while ((c = reader.read()) != -1) { sb.append((char) c); } reader.close(); // get byte array InputStream tarIs = new ByteArrayInputStream(sb.toString().getBytes("utf-8")); return tarIs; } public static byte[] converterToByteArray(byte[] bytes, String srcEnc, String tarEnc) throws IOException { // builder a reader using source encoding InputStream is = new ByteArrayInputStream(bytes); Reader reader = new InputStreamReader(is, srcEnc); StringBuilder sb = new StringBuilder(); // read content int c; while ((c = reader.read()) != -1) { sb.append((char) c); } reader.close(); // get byte array return sb.toString().getBytes(tarEnc); } public static byte[] converterToUTFByteArray(byte[] bytes, String srcEnc) throws IOException { // builder a reader using source encoding InputStream is = new ByteArrayInputStream(bytes); Reader reader = new InputStreamReader(is, srcEnc); StringBuilder sb = new StringBuilder(); // read content int c; while ((c = reader.read()) != -1) { sb.append((char) c); } reader.close(); // get byte array return sb.toString().getBytes("utf-8"); } public static String converterToString(byte[] bytes, String srcEnc, String tarEnc) throws IOException { // builder a reader using source encoding InputStream is = new ByteArrayInputStream(bytes); Reader reader = new InputStreamReader(is, srcEnc); StringBuilder sb = new StringBuilder(); // read content int c; while ((c = reader.read()) != -1) { sb.append((char) c); } reader.close(); return sb.toString(); } public static String converterToUTFString(byte[] bytes, String srcEnc) throws IOException { // builder a reader using source encoding InputStream is = new ByteArrayInputStream(bytes); Reader reader = new InputStreamReader(is, srcEnc); StringBuilder sb = new StringBuilder(); // read content int c; while ((c = reader.read()) != -1) { sb.append((char) c); } reader.close(); return sb.toString(); } public static void main(String[] args) throws IOException { InputStream is = new FileInputStream("G:/out.txt"); is = converter(is, "utf-8", "gbk"); Reader isr = new InputStreamReader(is, "gbk"); StringBuilder sb = new StringBuilder(); int c; while ((c = isr.read()) != -1) { sb.append((char) c); } is.close(); System.out.println(sb.toString()); } }
评论
2 楼
u148
2014-10-13
java.io.IOException: Stream closed
at org.apache.catalina.connector.InputBuffer.read(InputBuffer.java:325)
at org.apache.catalina.connector.CoyoteInputStream.read(CoyoteInputStream.java:193)
at sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:283)
at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:325)
at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:177)
at java.io.InputStreamReader.read(InputStreamReader.java:184)
at java.io.BufferedReader.fill(BufferedReader.java:154)
at java.io.BufferedReader.read(BufferedReader.java:175)
有时候会报这个错误.
at org.apache.catalina.connector.InputBuffer.read(InputBuffer.java:325)
at org.apache.catalina.connector.CoyoteInputStream.read(CoyoteInputStream.java:193)
at sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:283)
at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:325)
at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:177)
at java.io.InputStreamReader.read(InputStreamReader.java:184)
at java.io.BufferedReader.fill(BufferedReader.java:154)
at java.io.BufferedReader.read(BufferedReader.java:175)
有时候会报这个错误.
1 楼
tutu1982
2009-05-02
。。。。。。。。。。。
发表评论
-
管中窥豹,结合多线程,对于tomcat中servlet加载的一点试探
2010-05-18 23:58 3114对于Servlet自己的生命周 ... -
测试Java反射效率
2010-05-15 23:58 6264测试分为3个方面:1. 实例化效率;2. 方法调用效率;3. ... -
传一本书里的代码
2010-04-13 22:24 1317RT 我把编译产生的bin删了,小了很多 -
想想我們大學都教了啥, 差距呀
2010-03-27 01:02 1074昨天还发现了一个新的概念,叫OAuth,OpenSSO ... -
我也說說OpenSSO
2010-03-24 22:24 1467昨天看到Oracle要關閉OpenSSO的消息,還說要 ... -
考慮用g4j實現一個gmail客戶端
2010-03-20 20:37 967公司考慮信息安全,所以圖允許我們在公司里使用gmail ... -
Gmailer api for java
2010-03-19 16:43 982今天研究了一下子g4j,這個東西,沒弄完,因為公司里面不能隨便 ... -
网站莫名其妙老是挂,原来是线程数太小
2009-11-04 07:54 3252昨天下午我们那个网站忽然变得很慢,我登上去看了下,没发现什么异 ... -
我设计的权限管理方案
2009-06-15 00:34 1750这是给我们学校的某管 ... -
自己做的简单的web服务器
2009-06-14 20:39 2308我最近修的电子商务概论的课程,老师布置的作业,是要做个简单的w ... -
(两年前初学JAVA时写过的一篇文章,发现给我们班同学看还挺有用的)
2009-06-04 04:02 1201最近装了 fedora 7感觉满好,虽然许多人都推崇ubunt ... -
记两次服务器不能启动大原因
2009-05-25 22:44 1102遇到这种很诡异的情况,tomcat无缘无故不能启动,一直处于s ... -
利用Java开源库把汉字转拼音
2009-05-21 02:52 35257最近做的项目,因为下拉框中的项目太多,需要有个过滤的方法。我想 ... -
java 预申请磁盘空间处理大文件
2009-05-09 03:40 1550熟悉电驴和bt的你可能经常看到这些软件可以在下载文件之初就先在 ... -
http parser 基本用法
2009-04-24 22:40 7996手动解析HTML是一件很崩溃的事情,sun的swing里也有解 ... -
用httpclient模仿firefox发送http请求
2009-04-10 12:18 7119最近需要做爬虫,研究了一下进行做http客户端的东 ... -
在Java中实现伪静态页面
2009-02-18 14:58 3459在Java中做这个事情好像有很多中方案,比较简单的方法是使用U ... -
关于Hibernate懒加载问题的最终解决方案
2009-02-18 14:40 12430Hibernate的强大之处之一是懒加载功能,可以有效的降低数 ...
相关推荐
这个是一个基于netbeans下开发的有操作界面的编码转换工具,其中只是将java自带的native2ascii工具做了一次封装,让其具有方便的界面操作,它可以实现将你想要转换的文件/文件夹拖入输入框,又可以通过设置你机子上...
总是遇到文件编码不一致的情况,自己抽时间用java开发了一款编码转换小工具,已封装成exe,图形化操作界面,内置使用说明,欢迎下载使用。 支持批量转换 支持单个文件转换 支持gb2312、gbk(ansi)、gb18030、utf-8、...
iceroot是一个java基础工具类.封装了很多有用的方法. 该类库无任何第三方依赖. 涵盖了 字符串操作 时间转化 读取配置文件 等方面. 基础工具类对于java代码的编写是非常必要的,然 而很多常见的操作在很多第三方类库...
FormatConverter视频格式转换工具是一款功能强大的全能视频格式转换软件,支持多种视频格式转换,视频文件的预览、分析,并按照用户设定的参数转码成avi、rm、wmv格式,支持对相同封装格式和相同音视频编码参数的...
自己封装的一个多功能转码工具,支持各种字符编码之间的转换以及urlencode的编解码,base64等
javascript-obfuscatorJS编码器
海康录像文件格式转换工具V4.0支持多种文件格式转换,源文件格式如*.mp4,*.flv,*.avi,*.3gp,*.mp3,*.jpg,*.jpeg;输出文件格式如*.mp4,*.aac,*.jpg。并按照用户设定的参数转码成avi、rm、wmv格式。 支持对...
封装的功能:字符串从GBK编码转换为Unicode编码、对字符串进行md5加密、sql语句 处理、把null转换为字符串"0"、null 处理、long型变量转换成String型变量、int型变量转换成String型变量、String型变量转换成int型...
试验表明,磁盘空间用于存储一个报告的PDF文档与用于存储同一文档转换成静态SC图像相比的效率为20:1到30:1:将1比特单页PDF文件传送作为JPEG基准编码SC图像时为20:1(原件30KB/DICOM SC图像600KB);将复杂单页RGB...
转换工具类,进行对象的类型转换。 DateUtil.java 日期工具类,日期转换生肖、日期转换星座、日期相互转换。 DesUtil.java DES加密工具类。 ...
post,get方式请求接口封装,参数加密方式请求,参数RSA签名, 转换字符集到utf8,base64编码字符串
俗你小日本,超强MPEG制作转换工具。可将RM、RMVB、AVI等格式的影音文件主换为MPEG1,或MPEG2编码,破解汉化版。 新增“剪辑”功能。 在影像源范围视窗中,“[”、“]”键可以分别用来设定开始帧、结束帧。 使用新...
ffmpeg:该项目提供的一个工具,可用于格式转换、解码或电视卡即时编码等; ffsever:一个 HTTP 多媒体即时广播串流服务器; ffplay:是一个简单的播放器,使用ffmpeg 库解析和解码,通过SDL显示;
2、封装的JS工具类: var HtmlUtil = { /*1.用浏览器内部转换器实现html编码(转义)*/ htmlEncode:function (html){ //1.首先动态创建一个容器标签元素,如DIV var temp = document.createElement ("div");
2.一个操作Sql2005数据库的类(备份,还原,分离,附加,添加删除用户等操作) 帮助类 1.最新的Functions 类 2.最新的 PageValidate 类 3.JavascriptHelp 4.最新的皮肤帮助类 UI_Misc_Helper JavaScript|Jquery...
在输出部分没有对应的部分,我们完全可以自己建立一个LineNumberOutputStream,在最初写入时会有一个基准的行号,以后每次遇到换行时会在下一行添加一个行号,看起来也是可以的。好像更不入流了。 ...
(1)帮助学生理解汉字机内码、区位码,最终能利用相关工具批量获取一段文字的 GB2312 机内码,并利用简单电路实现 GB2312 编码与区位码的转换; (2)学生了解字形码显示的基本原理,能在实验环境中实现汉字 GB2312 ...
1.commons-beanutils.jar...12.commons-DbUtils.jar:Apache组织提供的一个资源JDBC工具类库,它是对JDBC的简单封装,对传统操作数据库的类进行二次封装,可以把结果集转化成List。 13.commons-Email.jar: 提供开源的API
狸窝视频转换是一款优秀的视频转换软件, 其最大优点就是可以将视频转换为mp4格式,且转换后的文件体积很小,视频质量无失真。 狸窝视频转换支持几乎所有主流视频格式的互相转换,无论是avi、rmvb、wmv还是mov、flv等...
AvagoAEDB-9340系列模块包括一个光学半径为15 mm (0.590英寸)的编码轮,它是专为降低整个马达尺寸而设计的,可以简便地放入圆形编码器封装中。Avago这款光学编码器系列的最新成员为有壳编码器制造商提供的一款集成...