`
大象06
  • 浏览: 119592 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

BufferedReader和PrintWriter读写中文的问题

    博客分类:
  • Java
阅读更多

最近用BufferedReader读一个文本文件,然后再将读出的内容用PrintWriter写入到另外一个新的文件中。

之前一直没有发现这个问题,就是如果文本内容中有中文,在读出的内容和写入的内容都会出现乱码。

想了一下解决方案。

首先用BufferedReader读出的时候设置一下字符集编码:

//文件路径:filePath
File file = new File(filePath);
FileInputStream fin = new FileInputStream(file);
			InputStreamReader in = new InputStreamReader(fin,"GBK");
			BufferedReader br = new BufferedReader(in);

 设置好了之后,会进行一些读出操作,然后再调用PrintWriter写入,当然也要设置同一个字符集编码:

File tempFile = new File(newPath);
PrintWriter tpw = null;
			FileOutputStream fo = new FileOutputStream(tmpFile);
			OutputStreamWriter osw = new OutputStreamWriter(fo,"GBK");
			tpw = new PrintWriter(osw);

 这样设置以后,中文的乱码就解决了。

学习学习。

分享到:
评论
1 楼 monical1 2012-09-04  
  如果在对日版eclipse版本下,博主的做法就不行了.

相关推荐

    Android对IO进行读写操作实例

    `BufferedReader`和`PrintWriter`简化了文本文件的读写,支持读写一行数据。例如: ```java BufferedReader reader = new BufferedReader(new FileReader(file)); PrintWriter writer = new PrintWriter(new ...

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

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

    java IO流操作详解源代码下载

    转换流用于在字节流和字符流之间转换,而BufferedReader和PrintWriter提供了高级的读写功能,如读取一行文本或格式化输出。 在学习这些源代码时,你可能会遇到IOException,这是Java IO操作中常见的异常类型,需要...

    java字符流操作

    这些示例通常包括创建InputStreamReader和OutputStreamWriter对象,通过BufferedReader和PrintWriter进行读写操作,并在适当位置关闭流。 总的来说,Java字符流操作是处理文本文件不可或缺的部分,它提供了丰富的...

    Java 读写文件文本文件的示例

    Java中读写文本文件主要依赖于`InputStream`和`OutputStream`的使用,结合`Reader`和`Writer`接口的实现类如`BufferedReader`和`PrintWriter`,可以高效地完成文件的读取和写入操作。掌握这些核心类的使用是进行文件...

    IO标准输入输出

    在实际开发中,开发者通常会使用BufferedReader和PrintWriter等更高级的流类来包装System.in和System.out,以提高读写效率和灵活性。 在给定的标签“源码”和“工具”中,我们可以理解这篇博文可能详细解释了如何在...

    最简单最好的IO学习资料 源码 注释清晰

    - `InputStreamReader`和`OutputStreamWriter`:用于字节流和字符流之间的转换,通常配合BufferedReader和PrintWriter使用。 8. **数据流**: - `DataInputStream`和`DataOutputStream`:处理基本数据类型(如int...

    Java考试前总结(包含io输入输出流/线程/特殊for语句/文件读写的总结)

    例如,FileInputStream和FileOutputStream用于文件的字节级读写,而BufferedReader和PrintWriter用于文本的字符级操作。理解流的层次结构以及何时使用每种流对于有效地管理数据传输至关重要。 线程是Java多任务处理...

    JAVA简单的读写文本文件的代码

    这里采用`BufferedReader`和`PrintWriter`组合的方式来实现文件流之间的复制。 #### 代码实现: ```java public void copyStream(InputStream is, OutputStream os) throws IOException { String line; ...

    IO流的操作

    - BufferedReader和PrintWriter可以用于读写文本文件,提供了缓冲和格式化输出的功能。 2. 缓冲流: - BufferedInputStream和BufferedOutputStream增加缓冲,提高读写效率。 - BufferedReader和BufferedReader...

    文件读写 文件读写文件读写 文件读写

    - Java的`BufferedReader` 和 `PrintWriter`:提供高效且易用的读写功能。 2. 二进制文件操作: - 二进制文件存储数据效率高,适用于图像、音频、视频等非文本数据。 - C++中的`fstream`类支持二进制模式,如`...

    Project7_学生信息_源码

    - BufferedReader和PrintWriter:在这个项目中,我们可能会用到字符流,如BufferedReader用于读取文本文件,而PrintWriter用于写入。这些类处理字符数据,而不是原始字节,因此更适合处理包含文本的数据。由于Java...

    jsp读写txt文件两例

    第二个示例采用了不同的方式来完成文件的读写操作,利用`FileWriter`和`BufferedReader`类,提供了一种更为高效且常用的文件读写模式。 ##### 关键步骤: 1. **确定文件路径**: - `String path=request....

    java的大数据读写

    例如,`FileInputStream`和`FileOutputStream`用于二进制文件读写,`BufferedReader`和`PrintWriter`用于文本文件读写。对于大文件,通常使用缓冲区来提高性能。 4. **内存管理**:处理大数据时,内存限制是挑战之...

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

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

    IO流读写excel文档,并写入数据库

    在读取或写入Excel文件时,我们通常会用到字节流(如FileInputStream和FileOutputStream)或字符流(如BufferedReader和PrintWriter)。这些流可以帮助我们将文件内容转化为字节序列,方便程序处理。在读取Excel时,...

    文件操作

    8. **工具辅助**:除了源码级的调试,还可以借助IDE(如Eclipse、IntelliJ IDEA)的内置工具进行文件操作的调试和问题排查。例如,使用IDE的文件查看器、断点调试功能,以及集成的日志查看器。 9. **性能优化**:在...

    深入分析 Java 中的中文编码问题

    编码是将字符(如中文汉字)转换为二进制表示的过程,而解码则是将二进制数据还原成字符。在Java中,主要使用的编码格式有GBK、GB2312、UTF-8等。GBK是对GB2312的扩展,包含了更多的汉字。UTF-8是一种广泛使用的...

    java基础测试

    例如,了解File类的功能,知道如何使用BufferedReader和PrintWriter读写文件,以及如何操作目录。 最后,对于JavaSE的标准库,如Math类、String类和日期时间API(Calendar、Date、LocalDateTime等),也需要有深入...

    Java 中对文件的读写操作之比较

    - `BufferedReader`和`BufferedWriter`通过内置缓冲机制提高了读写性能,尤其是处理大数据量时表现更佳。 3. **易用性**: - `PrintStream`和`PrintWriter`提供了更为便捷的方式来处理数据的输出,如自动换行等...

Global site tag (gtag.js) - Google Analytics