`
yangchongjiao
  • 浏览: 11444 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Java读写txt文件中文乱码问题

    博客分类:
  • java
阅读更多

 

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

 

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

      }  

  }  

 

public static void writeFile(String fileName, String fileContent)

 

{  

 

  try

 

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;   

 }   

 

  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;

 

  }

 


 

 

 

 

 

分享到:
评论

相关推荐

    Java读取TXT文本文件乱码解决方案.doc

    Java 读取 TXT 文本文件乱码解决方案中,主要讨论的是在 Java 中读取 TXT 文本文件时出现乱码的问题,并提供了解决方案。 首先,文章中提供了一个简单的读取 TXT 文件的代码,使用 BufferedReader 和 FileReader ...

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

    java读取txt文件乱码解决方案java读取txt文件乱码解决方案java读取txt文件乱码解决方案java读取txt文件乱码解决方案java读取txt文件乱码解决方案java读取txt文件乱码解决方案java读取txt文件乱码解决方案java读取txt...

    java读写csv文件,中文乱码问题

    总的来说,处理Java中CSV文件的中文乱码问题主要涉及正确设置字符编码,而给定的.NET DLL文件与此问题的解决没有直接关联。如果你在.NET环境中遇到类似问题,可以参考.NET的编码处理方式,或者寻找适合的.NET库来...

    彻底解决JAVA读取写入 TXT中文乱码问题 源码

    总之,解决Java读写TXT文件中文乱码问题的关键在于明确文件的编码类型并在操作文件时指定正确的编码。通过上述方法,你可以确保在处理包含中文字符的TXT文件时,不会出现乱码现象。在实际开发中,要养成良好的编码...

    java 解析csv文件例子,csv文件 中文乱码问题

    本篇文章将详细探讨如何在Java中解析CSV文件,并解决中文乱码的问题。 首先,我们需要了解如何使用Java的标准库`java.io`和`java.nio`来读取CSV文件。最常用的是使用`BufferedReader`配合`Scanner`或者`Files.lines...

    java读写文件避免中文乱码.docx

    这样,在读取文件时,Java 就会使用 UTF-8 编码来解析文件内容,从而避免中文乱码。 写入文件避免中文乱码 在写入文件时,也需要使用正确的编码方式来保存文件内容。Java 提供了多种方式来写入文件,例如使用 `...

    彻底解决android读取中文txt的乱码(自动判断文档类型并转码

    在Android平台上,开发人员经常遇到一个棘手的问题,那就是如何正确地读取包含中文字符的TXT文件,因为不恰当的处理往往会导致乱码。本文将深入探讨如何彻底解决这一问题,包括自动判断文档编码类型以及进行转码操作...

    java压缩zip文件解决中文乱码问题

    总结来说,处理Java中ZIP文件的中文乱码问题,关键在于明确指定字符集,通常是UTF-8,无论是使用Java内置的API还是第三方库。同时,理解文件系统的编码和压缩/解压过程中的字符编码转换也非常重要。通过这种方式,...

    java读取文件中文乱码

    在Java编程中,读取包含中文字符的...通过理解和应用这些知识点,你可以有效地解决Java读取文件时出现的中文乱码问题。在实际开发中,对文件编码的理解和处理是至关重要的,能够确保程序正确地处理各种语言和字符集。

    Java读取TXT文本文件乱码解决方案.pdf

    总之,Java 读取 TXT 文件乱码的解决方案在于确定文件的正确编码,并在读取时指定该编码。通过使用 `InputStreamReader` 并传递正确的编码字符串,可以有效地解决这类问题。同时,了解各种编码格式的特点以及如何...

    JAVA 解决Properties文件保存中文乱码

    Java 8引入了新的Files类,我们可以利用其readString()方法读取文件,同时指定编码。但Properties类没有提供直接的方法来保存时指定编码,所以仍需要自定义OutputStreamWriter。 ```java Map, String> props = new ...

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

    为了解决Java读写本地文件时的中文乱码问题,我们需要明确两个关键步骤:一是确定文件的原始编码,二是指定Java程序在读写文件时使用的编码。以下是一个简单的示例,展示了如何使用GBK编码读取和写入文件: 1. **...

    Java读取中文文件出现乱码解决过程.mht

    总之,解决Java读取中文文件乱码的关键在于确定正确的文件编码并相应地调整Java代码。同时,良好的编码规范,如统一项目编码为UTF-8,可以避免很多不必要的问题。在实际开发中,应当养成检查文件编码的习惯,避免因...

    Java读写xml,word,xml文件(防乱码)

    ### Java读写XML、Word与TXT文件:去除乱码问题详解 #### 一、引言 在实际开发过程中,我们经常需要处理各种类型的文件,包括XML、Word文档以及普通的文本文件(如TXT)。这些文件在读写过程中经常会遇到乱码问题,...

    Java关于中文乱码问题的多种解决方法

    在Java编程中,中文乱码问题是一个常见的困扰,尤其是在处理文件读写、网络传输或数据库操作时。本文将深入探讨几种解决Java中中文乱码问题的方法,并以MyEclipse为开发环境,结合实际示例进行讲解。 1. 文件读写中...

    java 逐行读取txt文本如何解决中文乱码

    java读取txt文本中如含有中文,可能会出现乱码,解决方案是: 1.要统一编码,java工程的编码,txt文本编码,java工程中的java文本编码都统一为utf-8; 2.利用 InputStreamReader(new FileInputStream(fileUrl), ...

    Java避免UTF-8的csv文件打开中文出现乱码的方法

    然而,在Java中读取和写入csv文件时,中文字符如果不正确地处理,可能会出现乱码的情况。下面我们将详细介绍Java避免UTF-8的csv文件打开中文出现乱码的方法。 首先,需要了解UTF-8和UTF-16LE这两种编码格式。UTF-8...

    Java读取TXT文本文件乱码解决方案.docx

    Java 读取 TXT 文本文件时遇到乱码问题通常是由于编码格式不匹配导致的。在 Java 中,当读取文本文件时,默认使用的是平台的默认编码,这在处理非 ASCII 字符时可能会出现问题,尤其是当文件采用不同编码(如 UTF-16...

Global site tag (gtag.js) - Google Analytics