Java 解决读写本地文件中文乱码的问题

前言:

在用Java程序进行读写含中文的txt文件时,经常会出现读出或写入的内容会出现乱码。原因其实很简单,就是系统的编码和程序的编码采用了不同的编码格式。通常,假如自己不修改的话,windows自身采用的编码格式是gbk(而gbk和gb2312基本上是一样的编码方式),而IDE中Encode不修改的话,默认是utf-8的编码,这就是为什么会出现乱码的原因。当在OS下手工创建并写入的txt文件(gbk),用程序直接去读(utf-8),就会乱码。为了避免可能的中文乱码问题,最好在文件写入和读出的时候显式指定编码格式。

按行读取本地文件:

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+"\n";

}

read.close();

}

} catch (Exception e) {

e.printStackTrace();

}

return fileContent;

}

写入本地文件:

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();

}

}

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

时间: 2017-01-23

java 读写文件乱码_Java 解决读写本地文件中文乱码的问题相关推荐

  1. java通字乱码_Java解决通信过程的中文乱码的问题

    Java解决通信过程的中文乱码的问题 前言: Java的编程中,经常会碰到汉字的处里及显示的问题,比如一大堆乱码或问号. 这是因为JAVA中默认的编码方式是UNICODE,而中国人通常使用的文件和DB ...

  2. matlab ubuntu 显示乱码_解决Linux中Matlab中文乱码问题

    解决 Linux 中 Matlab 中文乱码问题 由于 Linux 下 Matlab 的图形界面是用 Java 写的,所以只要搞定 Java 的中文显 示就行了. 1 . 我 Matlab2007a ...

  3. java工程编辑器中文乱码_Java Web开发项目中中文乱码解决方法汇总

    Java Web项目中,解决中文乱码方法总结如下 第一种情况:调用jsp页面中文显示乱码问题描述:通过浏览器调用jsp页面,在浏览器中显示的中文内容出现乱码. 解决方法:首先确认本jsp在编辑器中保存 ...

  4. java 调用 dll 乱码_java调用c++ dll出现中文乱码

    最近的开发用到了使用java调用本机动态连接库的功能,将文件路径通过java调用C++代码对文件进行操作.在调用中如果路径中包含有中文字符就会出现问题,程序运行就会中止.下面用一个小例子,来说明记录下 ...

  5. java dll 乱码_java调用c++ dll出现中文乱码 | 学步园

    最近的开发用到了使用java调用本机动态连接库的功能,将文件路径通过java调用C++代码对文件进行操作.在调用中如果路径中包含有中文字符就会出现问题,程序运行就会中止.下面用一个小例子,来说明记录下 ...

  6. pb mysql 中文乱码_解决springmvc+mybatis+mysql中文乱码问题

    近日使用ajax请求springmvc后台查询mysql数据库,页面显示中文出现乱码 最初在mybatis配置如下 select text from News where id=#{o} 其中表New ...

  7. php sql中文乱码怎么解决,php显示mssql中文乱码怎么办

    php显示mssql中文乱码的解决办法:1.根据页面情况来设置utf-8编码:2.直接在程序中通过iconv函数进行转码:3.利用Ado连接,并在连接时设置编码:4.添加meta属性"&qu ...

  8. php mysql中文乱码怎么解决_php读取mysql中文乱码怎么解决?

    解决方法:1.在网页文件中使用设置UTF-8编码:2.新建数据库时设置UTF-8编码:3.PHP连接数据库时,使用"mysql_query("set names 'utf8'&qu ...

  9. ssh插入mysql乱码_解决SSH连接mysql中文乱码问题

    1.Jsp页面的编码格式要是UTF-8. 2.数据库的字符编码格式UTF-8. 3.在WEB.XML文件中添加过滤器,参考代码如下: encodingFilter org.springframewor ...

最新文章

  1. Linux软件包命令
  2. Dubbo 入门实例 本地伪集群测试Demo
  3. 从零开发一个 Java Web 项目要点
  4. springAop和AspectJ的关系
  5. SLF4J:Failed to load class org.slf4j.impl.StaticLoggerBinder
  6. Linux关机重启流程分析
  7. Android 功耗(4)---MTK平台待机功耗分析流程
  8. 电商设计中的一些概念
  9. 分区魔术师于分区助手怎么选择
  10. 苹果iphone5/iphone5s充电器(A1443)及电路原理图
  11. python程序基础知识(一)
  12. 百度统计后台页面点击图提示无法建立连接
  13. mysql忘记root密码拯救方法(flush privileges)
  14. 小猿日记 - 程序猿的日常日记(3)
  15. 华为手机各代系拆机图
  16. 家用投影仪不会选?记住这几个方面,帮你选到适合你的投影仪
  17. 36 岁开发者应聘被拒?这 3 位 50 岁程序员的生存秘籍送给你!
  18. 虚拟opc服务器软件,OPC Server
  19. Objective C范型
  20. Latex输入矩阵的几种方式

热门文章

  1. Linux 调用openoffice报错 disconnected unexpectedly
  2. python全国计算机等级考试_Python二级教程(全国计算机等级考试)
  3. 1.3.3微信小程序WeUI.js网页开发样式库
  4. 苹果手机 生成html文件,苹果手机这个功能太厉害了,1秒就能将纸质文档转换为Word...
  5. java null转空_Java对象为空时,将null转换为 保存值为空的属性
  6. Python 进程、线程、协程傻傻分不清楚?详细总结(附代码)
  7. 大尺寸背光检测~Dalsa线阵相机资料
  8. cmake错误:Could not find a configuration file for package “Eigen3“
  9. Oracle SQL Developer 复制数据库数据
  10. 活动报名 | 加州大学圣地亚哥分校商静波:如何通过极弱监督来完成海量文本的结构化?...