广告
返回顶部
首页 > 资讯 > 后端开发 > JAVA >java读取txt文件乱码解决方法
  • 319
分享到

java读取txt文件乱码解决方法

java 2016-06-11 19:06:53 319人浏览 绘本
摘要

java读取txt文件,如果编码格式不匹配,就会出现乱码现象。所以读取txt文件的时候需要设置读取编码。txt文档编码格式都是写在文件头的,在程序中需要先解析文件的编码格式,获得编码格式后,在按此格式读取文件就不会产生乱码了。(推荐:jav

java读取txt文件,如果编码格式不匹配,就会出现乱码现象。所以读取txt文件的时候需要设置读取编码。txt文档编码格式都是写在文件头的,在程序中需要先解析文件的编码格式,获得编码格式后,在按此格式读取文件就不会产生乱码了。(推荐:java视频教程

java编码与txt编码对应:

1.jpg

示例:

package com.lfl.attachment;  
  
import java.io.BufferedReader;  
import java.io.File;  
import java.io.FileInputStream;  
import java.io.InputStream;  
import java.io.InputStreamReader;  
  
public class TextMain {  
  
    public static void main(String[] args) throws Exception {  
        String filePath = "D:/article.txt";  
//      String filePath = "D:/article333.txt";    
//      String filePath = "D:/article111.txt";    
        String content = readTxt(filePath);  
        System.out.println(content);  
          
    }  
  
      
      
      
    @SuppressWarnings("unused")  
    public static String readTxt(String path){  
        StringBuilder content = new StringBuilder("");  
        try {  
            String code = resolveCode(path);  
            File file = new File(path);  
            InputStream is = new FileInputStream(file);  
            InputStreamReader isr = new InputStreamReader(is, code);  
            BufferedReader br = new BufferedReader(isr);  
//          char[] buf = new char[1024];  
//          int i = br.read(buf);  
//          String s= new String(buf);  
//          System.out.println(s);  
            String str = "";  
            while (null != (str = br.readLine())) {  
                content.append(str);  
            }  
            br.close();  
        } catch (Exception e) {  
            e.printStackTrace();  
            System.err.println("读取文件:" + path + "失败!");  
        }  
        return content.toString();  
    }  
      
      
      
    public static String resolveCode(String path) throws Exception {  
//      String filePath = "D:/article.txt"; //[-76, -85, -71]  ANSI  
//      String filePath = "D:/article111.txt";  //[-2, -1, 79] unicode big endian  
//      String filePath = "D:/article222.txt";  //[-1, -2, 32]  unicode  
//      String filePath = "D:/article333.txt";  //[-17, -69, -65] UTF-8  
        InputStream inputStream = new FileInputStream(path);    
        byte[] head = new byte[3];    
        inputStream.read(head);      
        String code = "gb2312";  //或GBK  
        if (head[0] == -1 && head[1] == -2 )    
            code = "UTF-16";    
        else if (head[0] == -2 && head[1] == -1 )    
            code = "Unicode";    
        else if(head[0]==-17 && head[1]==-69 && head[2] ==-65)    
            code = "UTF-8";    
            
        inputStream.close();  
          
        System.out.println(code);   
        return code;  
    }  
      
}

注意:在resolveTxt方法中不能通过readTxt方法传InputStream流 ,这样会使两个方法持有同一个流引用,而在resolveTxt方法中已读过流中的三个字节,流中的pos此时已经是3了,而不是流的起始位置,再在readTxt中读取时就会出现IOException:Read Error。

更多java知识请关注Java基础教程栏目。

--结束END--

本文标题: java读取txt文件乱码解决方法

本文链接: https://www.lsjlt.com/news/1804.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • java读取txt文件乱码解决方法
    java读取txt文件,如果编码格式不匹配,就会出现乱码现象。所以读取txt文件的时候需要设置读取编码。txt文档编码格式都是写在文件头的,在程序中需要先解析文件的编码格式,获得编码格式后,在按此格式读取文件就不会产生乱码了。(推荐:jav...
    99+
    2016-06-11
    java
  • java读取txt乱码解决方法
    java读取txt文本中如含有中文,可能会出现乱码,解决方案是: 要统一编码,java工程的编码,txt文本编码,java工程中的java文本编码都统一为utf-8; 利用 InputStreamReader(new FileInputSt...
    99+
    2018-02-06
    java
  • java读取txt中文乱码
    java读取txt文本中如含有中文,可能会出现乱码,解决方案是: 要统一编码,java工程的编码,txt文本编码,java工程中的java文本编码都统一为utf-8; 利用 InputStreamReader(new FileInputSt...
    99+
    2016-12-29
    java基础 java 乱码
  • java文件读取出现乱码解决方法
    java读取文件出现乱码解决方法:(推荐:java视频教程)首先将要读取的文本文件的编码格式设置为UTF-8使用InputStreamReader类取读取文件,因为它的构造方法中可以指定字符集,将它的字符集指定为UFT-8的格式。例:Buf...
    99+
    2020-06-12
    java 乱码
  • java读取中文乱码解决方法
    Java读取文本文件(例如csv文件、txt文件等),遇到中文就变成乱码。读取代码如下:List lines=new ArrayList(); BufferedReader br = new BufferedReader(new F...
    99+
    2018-10-05
    java 乱码
  • java读取文件中文乱码解决方法介绍
    Java读取文本文件(例如csv文件、txt文件等),遇到中文就变成乱码。(推荐:java视频教程)读取代码如下:List lines=new ArrayList(); BufferedReader br = new Buffere...
    99+
    2020-12-12
    java基础 java
  • Java文件字符输入流FileReader读取txt文件乱码的解决
    目录Java文件字符输入流FileReader读取txt文件乱码先上代码控制台输出结果如下原因是运行之后的结果为字符流读取UTF-8和写出txt文件乱码问题话不多说,直接上图解决Ja...
    99+
    2022-11-12
  • node 读取文件乱码的解决方法
    小编给大家分享一下node 读取文件乱码的解决方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧! n...
    99+
    2022-10-19
  • java文件读取中文乱码的原因与解决方法
    最近遇到一个问题,Java读取文本文件(例如csv文件、txt文件等),遇到中文就变成乱码。(推荐:java视频教程)读取代码如下:List lines=new ArrayList(); BufferedReader br = ne...
    99+
    2015-03-18
    java
  • java读文件乱码解决方法介绍
    使用java读取磁盘文件内容容易出现乱码, 问题是由于java使用的编码和被读取文件的编码不一致导致的。(推荐:java视频教程)假设有一个test.txt的文本文件,文件内容为:“测试java读取中文字符串乱码问题”, 其中包含中文,文件...
    99+
    2020-03-06
    java 乱码
  • java读写html文件乱码解决方法
    JAVA读取文件,避免中文乱码。 public static String readFile(String filePathAndName) { String fileContent = ""; try { File f =...
    99+
    2015-05-06
    java 乱码
  • java读取csv文件乱码怎么解决
    csv文件默认编码为ANSI,java读取CSV出现乱码主要是编码不一致问题。(推荐:java视频教程)DataInputStream in = new DataInputStream(new FileInputStream(new Fil...
    99+
    2020-07-07
    java 乱码
  • java避免读取文件乱码的方法
    有时候我们读取文件的时候切换了utf-8、gbk、gb2312几种编码方式,但是还是乱码,这个时候我们要去查看一下文件的编码方式:(推荐:java视频教程)在Vim中可以直接查看文件编码:set fileencoding在subline中查...
    99+
    2020-03-04
    java
  • 怎么解决jquery读取txt乱码问题
    这篇文章主要介绍“怎么解决jquery读取txt乱码问题”,在日常操作中,相信很多人在怎么解决jquery读取txt乱码问题问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么...
    99+
    2022-10-19
  • java读取txt文件代码片段
    本文实例为大家分享了java读取txt文件的具体代码,供大家参考,具体内容如下学习小记:  1、首先要根据路径获取你的 txt 文本文件。File file = new File(path);  2、将获取到的这个字节码流读进缓存。new ...
    99+
    2023-05-31
    java txt ava
  • 解决.properties文件中文读取乱码问题(idea Java)
    一、 对于.properties文件的读取容易出现的中文读取乱码问题 原始代码 未加读取.properties文件的规则 public class CityCodeUtils { private...
    99+
    2023-09-11
    java intellij-idea 开发语言 学习
  • java读oracle乱码解决方法
    当Java读Oracle遇到中文乱码时,我们就需要进行转码。(推荐:java视频教程)转码方法:纯手工转码将读到的字符串s进行转码,如:new String(s.getByte(A), B)Druiddruid是阿里巴巴自己开发的一个驱动,...
    99+
    2015-08-19
    java 乱码
  • java读写乱码解决方法
    java读写乱码解决方法:读文件: public static String readFile(String filePath) { String fileContent = ""; try { ...
    99+
    2018-12-07
    java 乱码
  • Java读取properties文件之中文乱码问题及解决
    目录Java读取properties文件中文乱码两种方式读取properties配置文件方式一:使用Properties集合工具类读取配置文件。方式二:使用ResourceBundl...
    99+
    2022-12-29
    Java读取properties文件 Java中文乱码 Java properties文件
  • java读取json数据中文乱码解决
    java读取json数据出现乱码的代码:(推荐:java视频教程)//从json文件中读取数据 StringBuffer stringBuffer = new StringBuffer(); try { BufferedRea...
    99+
    2021-06-27
    java 乱码
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作