`
zhaohaolin
  • 浏览: 1012056 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

JAVA读写文件,中文乱码 【转】

    博客分类:
  • JAVA
 
阅读更多

最近在做HTML静态生成,需要从硬盘上把模版文件的内容读出来。然后,替换相关标签写到指定的文件中。无论是读写,都遇到了中文乱码问题。试过多种方法,发现下面一种可以避免中文乱码。(无论读取还是写入一定要进行编码转换。)

1、JAVA读取文件,避免中文乱码。

 /**
  * 读取文件内容
  * 
  * @param filePathAndName
  *            String 如 c:\\1.txt 绝对路径
  * @return boolean
  */
 public static String readFile(String filePathAndName) {
  String fileContent = "";
  try {  
   File f = new File(filePathAndName);
   if(f.isFile()&&f.exists()){
    InputStreamReader read = new InputStreamReader(new FileInputStream(f),"UTF-8");
    BufferedReader reader=new BufferedReader(read);
    String line;
    while ((line = reader.readLine()) != null) {
     fileContent += line;
    }   
    read.close();
   }
  } catch (Exception e) {
   System.out.println("读取文件内容操作出错");
   e.printStackTrace();
  }
  return fileContent;
 }

2、JAVA写入文件,避免中文乱码。

 public static void writeFile(String filePathAndName, String fileContent) {
  try {
   File f = new File(filePathAndName);
   if (!f.exists()) {
    f.createNewFile();
   }
   OutputStreamWriter write = new OutputStreamWriter(new FileOutputStream(f),"UTF-8");
   BufferedWriter writer=new BufferedWriter(write);   
   //PrintWriter writer = new PrintWriter(new BufferedWriter(new FileWriter(filePathAndName)));
   //PrintWriter writer = new PrintWriter(new FileWriter(filePathAndName));
   writer.write(fileContent);
   writer.close();
  } catch (Exception e) {
   System.out.println("写文件内容操作出错");
   e.printStackTrace();
  }
 }

我试过写入的时候用

1、PrintWriter writer = new PrintWriter(new BufferedWriter(new FileWriter(filePathAndName)));

2、PrintWriter writer = new PrintWriter(new FileWriter(filePathAndName));

都不行。

分享到:
评论

相关推荐

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

    在Java编程中,CSV(Comma Separated Values)...通过以上步骤和知识点,你应该能够有效地解决Java读写CSV文件时遇到的中文乱码问题。在实际项目中,结合具体的错误现象,灵活应用这些知识就能顺利处理各种编码问题。

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

    Java 读写文件避免中文乱码 Java 语言在读写文件时,经常会 gặp到中文乱码的问题。这是因为 Java 默认使用的字符编码是 ISO-8859-1,而中文字符在这个编码中无法正确地表示。为了避免中文乱码,需要使用正确的...

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

    Java 读写文件避免中文乱码 Java 语言在读写文件时,经常会遇到中文乱码的问题,这是因为 Java 默认使用的编码方式是 ISO-8859-1,而中文字符在这个编码方式下无法正确地表示。为了避免中文乱码,需要使用正确的...

    java中文文件读写类

    最近在用java的IO包下面的RandomAccessFile类读写中文文件时遇到了乱码问题,解决不了。于是索性自己写个类,可以进行中文文件读写而不乱码。 压缩包里提供了.jar包和源代码。 ************************************...

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

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

    Java Properties 解决中文乱码和顺序读写.docx

    Java Properties 类是Java标准库中...总之,Java Properties类是Java开发中处理配置文件的利器,通过它的方法可以方便地读取、修改和保存配置信息,尤其在处理包含中文字符的配置时,注意编码问题,确保数据的正确性。

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

    不同的操作系统、软件可能使用不同的默认编码格式,这就会导致在跨平台或跨软件间读写文件时出现乱码问题。因此,在处理文件时,明确指定文件的编码格式是十分重要的。 #### 三、Java读取XML文件 对于XML文件的读取...

    Java文件下载,Java文件下载中文乱码,Java通用文件下载

    本文将深入探讨Java文件下载的实现方式以及如何解决中文乱码问题。 首先,我们需要理解HTTP协议中的Content-Disposition头的作用,它用于告知浏览器如何处理响应体的内容,比如作为附件下载。在Java中,我们通常...

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

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

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

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

    彻底解决中文乱码的问题

    中文乱码问题在Java中的表现多种多样,例如,从文件读取中文数据时显示为乱码,通过HTTP请求接收的中文内容显示异常,或者在控制台上打印中文字符出现乱码等。这些问题的根源在于编码的不统一,比如文件是GBK编码,...

    Java读写.properties文件解决中文乱码问题

    本篇文章将深入探讨如何解决Java读写.properties文件时的中文乱码问题。 首先,了解.properties文件的特性。这种文件的默认编码通常是ISO-8859-1,它不支持中文字符。因此,当文件中含有中文时,必须明确指定读写时...

    Java中文乱码浅析及解决方案

    综上所述,解决Java中文乱码问题的关键在于确保整个程序的编码一致性,包括源代码、编译器、运行环境、文件读写、网络传输以及数据库操作等环节。通过细心配置和适当地指定编码,我们可以有效地避免乱码问题,确保...

    javadbf中文乱码

    在处理DBF(dBASE文件)格式的数据时,可能会遇到中文乱码问题,尤其是在使用Java进行操作时。`javadbf`是一个Java库,专门设计...通过适当配置,你可以顺利地在Java应用程序中读写包含中文的DBF文件,避免乱码的出现。

    java中文乱码问题详解--- java中文乱码问题详解

    4. **输入输出流的编码设置**:Java程序在进行文件读写或网络通信时,需要显式地指定字符集编码,以避免乱码问题的发生。 5. **浏览器与服务器间的编码一致性**:对于Web应用程序而言,客户端与服务器之间必须保持...

    java导出excel文件并且下载到客户端(包括解决中文乱码).txt

    ### Java导出Excel文件并下载到客户端(含解决中文乱码问题) 在现代的企业级应用开发中,数据导出功能是非常常见的一种需求。特别是在B/S架构的应用中,用户经常需要将查询结果导出为Excel文件以便进行后续的数据...

    idea中.properties文件中文显示乱码问题的解决 文件中文乱码1

    在Java中,`.properties`文件通常使用ISO-8859-1编码进行读写。但是,如果你的文件包含中文字符,那么使用UTF-8编码会更为合适,因为UTF-8能够支持广泛的字符集,包括中文字符。 步骤一:检查文件编码 1. 打开...

    Java开发中文乱码问题解决

    1. **读写文件**:如果文件以GBK或其他非UTF-8编码保存,而Java代码在读取时不指定正确的编码,就会出现乱码。 2. **控制台输出**:Java默认使用平台的默认编码,如Windows可能是GBK,而在Linux或Mac上可能是UTF-8...

    解析Java中文乱码的处理方法

    Java编程语言在处理中文字符时,可能会遇到乱码问题,这通常是由于编码设置不正确或者在数据读写过程中没有统一编码格式导致的。本篇文章将深入探讨Java中处理中文乱码的各种方法,帮助开发者有效解决这类问题。 ...

Global site tag (gtag.js) - Google Analytics