- 浏览: 252217 次
- 性别:
- 来自: 苏州
文章分类
最新评论
-
a542550187:
很受用,最近正好学习软件工程方面的知识
如何建立领域模型(转) -
liiyee:
谢谢!中文版有些地方的翻译实在是挺对付的。
hibernate in action 2 英文版 -
HFLdragon:
下来学习一下
ajax upload file -
wendellup_account1:
thanks....
Spring 3 mvc Validation的错误 -
zhangjq5:
中文名乱码……
ajax upload file
最近用Java处理文件的时候,同样遇到了中文问题,觉得还是有必要总结一下,也使该系列的文章更加完整。 上面列出来的并不是Java.io中全部的类,但是对于文件读写来说已经足够了。通常,我们使用以下代码来进行文件的读写: 如果我们的是中文平台,上面代码是可以正常运行的。但是如果我们把这些代码放到一个ISO8859-1的系统上,中文问题就出来了(当然,前提你在javac的时指定了编码方式,如javac -encoding gb2312 ***.java,参看该系列前面的文章)。为什么呢?这是因为FileWriter和FileReader是辅助类,为了方便大家使用 OutputSteamWriterer 和 InputStreamReader 而屏蔽了字符集的设定操作,而采用系统默认的编码方式,而这在很多情况下也能满足用户的需求。在中文系统中,系统的默认编码方式一般是GBK,因此文件中中文的读写是没有问题的。但是,当程序运行在ISO8859-1的系统中时,JVM使用ISO8859-1对中文进行编码,当然就认不到了,于是那一个个的问号就来了。 但是这样处理起来不是很方便,我们可以这样写: 好了,文件读写的中文问题就解决了。
熟悉Java 的人都知道,在Java中,IO是分成两大部分的,分别对应字节和字符的操作,也就是Stream和Character,它们之间可以相互转换,桥梁就是StreamInputReader/StreamOutputWriter。为了更加清楚的了解它们之间的关系,我们可以看看它们所在的类结构。
那怎么办呢?既然捷径走不通,我们就只好使用OutputSteamWriter 和 InputStreamReader了。
在处理文件的过程中,我们还会用到RandomAccessFile这个类来随机访问文件。这里,如果我们写入字符串的时候调用writeChars,那么,如果写入的是中文,中文问题就又会出现了。因为此时RandomAccessFile并没有使用系统的默认编码来写入文件,而是直接将内存中的二进制数据直接写到文件中去。如何解决这个问题呢?只要读写对称就行了。
(http://blog.csdn.net/smartcat86/article/details/4085739)另一篇不错文件读写介绍
发表评论
-
IDEA EvalRest
2022-03-10 17:19 0Download and install plugi ... -
使用maven-jar-plugin将部分源代码打成Jar,并引入到项目使用。
2020-05-08 16:40 678需求:因为项目(单体系统)里尽可能保证项目里一部分源码,所以 ... -
CAS与spring3集成
2013-04-12 09:47 1097CAS 下载地址 https://wiki.jasig.o ... -
如何在Spring 3 MVC整合Apache CXF开发Webservice服务
2012-09-11 16:06 3531如何在Spring 3 MVC框架下结合CXF开发Webser ... -
如何在Spring 3 下结合结束大CXF开发WebService接口
2012-09-10 21:15 0如何从Spring 3 MVC架构下与Apache CXF开发 ... -
Java基本类型与包装类判断
2011-10-22 13:42 14432public class Test{ public sta ... -
Java深度历险合集
2011-08-26 16:43 832Java深度历险.pdf -
Apache Click 一个Java企业版的Web应用程序框架
2011-08-24 13:52 846Apache Click 是一个先进的Java企业版的Web应 ... -
Java的异常处理总结
2011-08-10 22:42 1269一、 异常的概念和Java异常体系结构 异常是程 ... -
Java反射与动态代理
2011-07-01 16:24 0在介绍Java注解的时候,多次提到了Java的反射 ... -
Red5+OpenOffice+OpenMeetings架设视频会议网络(转)
2011-05-25 14:17 1715因工作需要,这两天弄 ... -
DOM4J学习笔记(转)
2011-02-16 15:47 565Loading XML Data 以下代码从File中或 ... -
Hibernate级联删除的问题
2011-01-25 14:50 996在one-to-many 关联时,one方一般都需要有控制级联 ... -
fmt:formatDate 的输出格式
2011-01-22 23:28 926fmt:formatDate 的输出格式 <fmt ... -
Tomcate启动内存设置
2010-10-19 16:41 706其初始空间(即-Xms)是物理内存的1/64,最大空 ... -
基于json-lib.jar包Json实例程序(转)
2010-10-18 20:22 3436基于json-lib.jar包Json实例程序 ... -
Aache下的AB性能测试工具(转)
2010-10-18 16:57 861以前安装好APACHE总是 ... -
四步将Myeclipse的web project部署到eclipse中的tomcat
2010-10-15 16:29 2065现在很多Web的项目都是在MyEclipse中开发测试完成的 ... -
实现集合中对象的排序功能
2010-09-29 18:10 686利用Set可以去掉重复的对象,利用list可以对象自然排序,如 ... -
fmt:formatDate 参数详细
2010-08-20 16:20 1366JSTL标签<fmt:formatDate>的输出 ...
相关推荐
JAVA简单的读写文本文件的代码JAVA简单的读写文本文件的代码
java 二进制文件的读写操作使用FileInputStream FileOutputStream
一个简单的用java编写的读写文件小程序
使用Java实现对dbf文件的简单读写.
1、 文件读写 包括两个内容:查找文件中“java”字符串的个数;利用命令行参数显示文件的最后指定行。 在查找“java”字符串个数的程序中,先读出文件内容,再逐个字符对比,找出“java”字符,最终把结果写入另一...
自己写的一个最简单的 最易懂的 java读写文件的小例子 追加文件 回车换行等
/** * 一、BufferedReader类 public class BufferedReader extends Reader * 从字符输入流中读取文本,缓冲... * 三、FileWriter(少量文字) 和 BufferedWriter(大量文字)实现简单文件写操作 * @author hulk */
java 读写xml文件操作, 简单易懂
java文件读写,不知道的可以看看 很简单,高手就不用看了,没意思
本工具封装了,java程序对excel文件的读写,等相关操作,简单易学,非常好用用。压缩包中既包括封装后的工具ExcelHelp_fat.jar 还包括相应的源文件,共享出来和大家一块研究改进。希望各位同行多多提些意见,和知道...
java读写文件简单命令
以字节为单位读取文件、以字符为单位读取文件、以行为单位读取文件、随机读取文件内容、显示输入流中还剩的字节数、追加文件 FileInputStream、AppendToFile、 RandomAccessFile 、InputStreamReader
大学生简单课程设计,基于本地文件的读写来完成的一个登录注册小Demo。 不需要连接数据库,拿走就能用。
主要介绍了java文件的简单读写操作方法,结合实例形式分析了java文件流进行读写操作的方法与相关操作注意事项,需要的朋友可以参考下
简单的i0 读写文件 初学者借鉴 java 源代码
1. 将文件读入到内存(这里是StringBuffer)的例子 2. 将内容中的文本写到文件 3. 将一个文件的内容读出来写入另一个文件中 同时也展示了如果从输入流中读出来内容写入输出流中(仅限文本流) 三个例子可以独立...
file io的简单实例
java读取本地.db文件简单方法,sqlite数据库类型文件获取数据
非常简洁的java读写Excel文件的源代码,非常简单,还赠送个JXL的包,这么简单的代码你再看不明白,干脆你该行算了!!
java做的简单文件IO操作,实现文件的读写追加功能。 压缩包里面有程序运行时的截图。