问题:在用Java程序进行读写含中文的txt文件时,经常会出现读出或写入的内容会出现乱码。原因其实很简单,就是系统的编码和程序的编码采用了不同的编码格式。通常,假如自己不修改的话,windows自身采用的编码格式是gbk(而gbk和gb2312基本上是一样的编码方式),而IDE中Encode不修改的话,默认是utf-8的编码,这就是为什么会出现乱码的原因。当在OS下手工创建并写入的txt文件(gbk),用程序直接去读(utf-8),就会乱码。为了避免可能的中文乱码问题,最好在文件写入和读出的时候显式指定编码格式。
1、写文件:
2、读文件:
引自:http://blog.csdn.net/wooshn/article/details/8039882
1、写文件:
public static void writeFile(String fileName, String fileContent) { try { File f = new File(fileName); if (!f.exists()) { f.createNewFile(); } OutputStreamWriter write = new OutputStreamWriter(new FileOutputStream(f),"gbk"); BufferedWriter writer=new BufferedWriter(write); writer.write(fileContent); writer.close(); } catch (Exception e) { e.printStackTrace(); } }
2、读文件:
public static String readFile(String fileName) { String fileContent = ""; try { File f = new File(fileName); if(f.isFile()&&f.exists()) { InputStreamReader read = new InputStreamReader(new FileInputStream(f),"gbk"); BufferedReader reader=new BufferedReader(read); String line; while ((line = reader.readLine()) != null) { fileContent += line; } read.close(); } } catch (Exception e) { e.printStackTrace(); } return fileContent; }
引自:http://blog.csdn.net/wooshn/article/details/8039882
发表评论
-
关系型数据库三范式解释
2016-04-07 11:54 1232数据库 三范式最简单最易记的解释,整理一下方便大家记忆。 书上 ... -
java验证字符串中是否包含数字,对数字的操作
2016-03-15 11:01 9479在javascript中有一个方法 ... -
jdk7 Collections.sort()方法报非法参数异常
2016-03-03 18:57 12059JDK7的Comparison method violates ... -
Maven 中央仓库地址和lastUpdate文件删除
2016-03-01 13:46 8033Maven 中央仓库地址: 1. http://mvnrep ... -
log4j.properties配置详解
2016-01-18 16:50 1272Log4J的配置文件(Configuration File)就 ... -
Java 日期时间 Date类型,long类型,String类型表现形式的转换
2015-12-24 17:35 3269Java 日期时间 Date类型,long类型,String类 ... -
Java多线程-工具篇-BlockingQueue
2015-11-24 16:13 972Java多线程-工具篇-Block ... -
Java 实例 - 队列(Queue)入门用法
2015-11-23 17:27 1995队列是一种特殊的线性表,它只允许在表的前端进行删除操作,而在表 ... -
Java中序列化的serialVersionUID作用
2015-11-13 14:13 4808Java序列化是将一个对象 ... -
java的序列化和反序列化
2015-10-27 19:48 1109Java基础学习总结——Jav ... -
java中volatile关键字的含义
2015-08-12 20:10 749java中volatile关键字的含 ... -
String类中split方法的使用
2015-07-02 14:39 979String类中split方法的使用 split 方法:将一个 ... -
PreparedStatement防止SQL注入
2015-04-11 16:27 2786一条效率差的sql语句,足以毁掉整个应用. Stateme ... -
Session的生命周期
2015-04-11 11:58 904我们已经知道,Session是在用户第一次访问网 ... -
JAVA多线程和并发基础
2015-04-11 11:58 765JAVA多线程和并发基础 ... -
Java中equals()与hashCode()方法详解
2015-04-08 16:19 873一.equals()方法详解 equals()方法在o ... -
json数据后台处理
2015-03-30 16:05 789JAVA解析JSON问题,怎么解析,急!! String j ... -
java判断list为空
2015-01-30 15:25 3937java判断list为空 if(null == list | ... -
httpclient使用实践
2015-01-09 17:09 1333httpclient是什么这里不再详述(可参考最下方网址);直 ... -
java反射获取属性和方法
2015-01-09 11:12 3102反射的应用一般是要用到某些特殊类的属性和方法,无论是一般方法还 ...
相关推荐
java读取文件中文乱码
NULL 博文链接:https://thinktothings.iteye.com/blog/1536044
java 解析csv文件例子,csv文件 中文乱码问题
彻底解决JAVA读取写入 TXT中文乱码问题 源码
java读写文件避免中文乱码.docx
解决JAVA读取properties中文乱码问题
Java读取TXT文本文件乱码解决方案.doc
java读取远程网页乱码解决方案 java读取远程网页乱码解决方案
ava中有个比较重要的类Properties(Java.util.Properties),主要用于读取Java的配置文件,各种语言都有自己所支持的配置文件,配置文件中很多变量是经常改变的,这样做也是为了方便用户,让用户能够脱离程序本身去...
该项目包含了项目所需要的jar包以及测试案例。项目使用环境为eclipse jdk1.8 1.poi.Testpoi为测试用例;...3.解决了javadbf读取dbf文件表头和数据乱码问题,com.webadmin.util.dbf.DBFReaderTest为测试用例。
java读写文件避免中文乱码.pdf
主要介绍了Java 解决读写本地文件中文乱码的问题的相关资料,需要的朋友可以参考下
NULL 博文链接:https://liuzidong.iteye.com/blog/776637
NULL 博文链接:https://call-me-java-126-com.iteye.com/blog/1544324
NULL 博文链接:https://yuhuiblog695685688425687986842568269.iteye.com/blog/2185201
最近在用java的IO包下面的RandomAccessFile类读写中文文件时遇到了乱码问题,解决不了。于是索性自己写个类,可以进行中文文件读写而不乱码。 压缩包里提供了.jar包和源代码。 ************************************...
利用Java下的IO读取或写入xml及word,txt文件,且能有效去除乱码(很适用,且和POI组建比,少占了很多内存),这是我根据网上很多不同的版本,整合而出的一种最易最好的IO读写文件代码;
完善说明,通过对网上的东西,东拼西凑的,终于解决了GDAL读取中文的乱码问题,或者是通过设置Gdal.SetConfigOption("SHAPE_ENCODING","CP936")后,能够读取中文,但是还是存在一个BUG,那比较中文是“张三”,读取...