`
danwind
  • 浏览: 234062 次
  • 性别: Icon_minigender_1
  • 来自: 广东
社区版块
存档分类
最新评论

Java指定编码读写文件

    博客分类:
  • Java
阅读更多
1.读文件
当时为了数据的可移植性我放弃了使用数据库,将全部数据保存为UTF-8编码的文
本文件,在.net中读取这种文件秩序只要指定打开文件的编码方式,中文问题就可
以避免。但是按照我以前的思维,java中不是这么作的,java中都是先读取后转换
的,最后的结果证明我错了,看来经验主意害死人呀。
File f=new File((new 
BoxConfig()).getBaseDir()+"Data\\"+request.getParameter("ID")+".inc");
BufferedReader reader = new BufferedReader(new FileReader(f));
String line;
while((line=reader.readLine())!=null){
  strContent+=line;
}
这是我最初的代码f就是我要读取的UTF-8格式的文本文件,这一天中经过了无数次
的尝试,包括new String(strContent.getBytes("UTF-8"))(其中尝试了N种编码转
换),System.setProperty("file.encoding","UTF-8")(其中指定了N种编码转换
),都失败了。终于在Google中无数次查询中得到了一个后来被证明很重要的一条
信息“读取文件时指定字符编码”,一语点醒梦中人,.net中不就是这么实现的吗?
走了一圈弯路终于解决了这个问题。
File f = new File("E:\\eclipse\\workspace\\box\\Data\\2003-3-7-100.inc");
InputStreamReader read = new InputStreamReader (new FileInputStream(f),"UTF-8");
BufferedReader reader=new BufferedReader(read);
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
通过打开文件是指定文件编码的方法把这个问题轻松的解决了。
最后总结一下:java要读取数据流的时候一定要指定数据流的编码方式(至少读取
String流的时候要这么作。

2.写文件
File file = new File("c:\a.test");
Writer writer = new OutputStreamWriter(new FileOutputStream(file), "UTF-8");
writer.write("中文测试");
writer.close();
分享到:
评论

相关推荐

    java简单的读写文件小程序

    在Java编程语言中,读写文件是常见的操作,它涉及到对磁盘上文件内容的访问。这个"java简单的读写文件小程序"很可能是用来演示如何使用Java API进行文件操作的基本概念。下面,我们将深入探讨Java中读取和写入文件的...

    java文件读写操作

    默认的编码可能不适用于所有系统,可以使用`Charset`类指定编码,如`new InputStreamReader(fileInputStream, StandardCharsets.UTF_8)`。 9. **流的关闭**: - 操作完成后,记得关闭打开的流,避免资源泄漏。Java...

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

    1. **指定字符编码**:在使用`BufferedReader`或者`FileReader`读取文件时,应明确指定编码。例如,使用`InputStreamReader`构造函数可以传入编码类型,如`new InputStreamReader(new FileInputStream(file), "UTF-8...

    Java FTP 指定下载文件和上传文件到指定的服务器目录

    ### Java FTP 指定下载文件和上传文件到指定的服务器目录 #### 一、概述 在本篇文章中,我们将详细介绍如何使用Java编程语言通过FTP(文件传输协议)实现文件的上传与下载功能,并能够将文件指定上传或下载到特定...

    java操作文件读写

    可以使用`Charset`类指定编码,如`"UTF-8"`,以确保一致的编码处理: ```java FileReader reader = new FileReader("input.txt", StandardCharsets.UTF_8); FileWriter writer = new FileWriter("output.txt", ...

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

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

    java读写csv文件

    Java 读写 CSV 文件是指使用 Java 语言来读取和写入 CSV 文件,CSV 文件是一种常用的数据文件格式,逗号分隔的文本文件,默认可以用 Office 软件打开。CSV 文件可以包含各种特殊字符的处理信息,如对包含特殊字符的...

    一个java文本文件读写类

    这里我们关注的是一个名为"TextFile"的Java类,它提供了对文本文件进行读写的功能。JavaBean是一种特殊类型的Java类,设计用于数据封装和组件重用,通常遵循特定的命名和编码规范。在这个场景下,`TextFile`可能就是...

    Java文件读写.pdf

    Java文件读写是Java编程语言中基础且重要的操作,用于处理磁盘上的数据。本文将详细探讨Java如何进行文件读写,并提供相关的示例代码。 首先,读取文件时,Java提供了多种类来实现这一功能。`FileInputStream`是...

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

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

    JAVA 操作文件,读写。

    在Java编程语言中,文件...通过理解以上知识点,你将能够实现和理解这个Java程序,完成从指定文件夹下读取所有TXT文件内容并合并到一个新文件的功能。记住,良好的代码实践包括适当的注释和模块化,以便于理解和维护。

    用java修改文件的编码

    3. **BufferedReader和BufferedWriter**:在Java中,`java.io.BufferedReader`和`java.io.BufferedWriter`类用于读写文件。这两个类允许我们指定文件的字符编码,通过构造函数传入`Charset`对象。 4. **文件读写...

    java中文文件读写API及源码 V1.4

    2. **读取操作**:提供一个或多个方法,能够按照指定编码读取文件内容,可能包括读取单个字符、一行文本或者整个文件。 3. **写入操作**:对应读取操作,类中应有写入方法,用于将字符串或者字符数组按照指定编码...

    java读写文件的方法.pdf

    在Java编程中,读写文件是常见的操作。本示例主要介绍了四种在Java中读取文件的方法:按字节读取、按字符读取、按行读取以及随机读取。 1. **按字节读取文件内容**: - `FileInputStream` 类是用于按字节读取文件...

    java识别文件编码格式

    同时,考虑到文件的复杂性和多样性,有时候可能需要设定合理的默认编码或让用户手动指定。 综上所述,Java识别文件编码格式是一个涉及字符编码理论、Java IO流操作以及可能的自定义逻辑的问题。开发者需要了解各种...

    解析URL和文件的编码方式

    文件的编码方式有时会在文件的头部或通过其他方式指定,如XML文件的`<?xml version="1.0" encoding="UTF-8"?>`声明。在处理未知编码的文件时,可能需要使用一些库来自动检测文件的编码,例如ICU4J库提供了`...

    java文件的编码转换

    本文将深入探讨“Java文件的编码转换”这一主题,以及如何利用Java来解决由于不同编码格式引起的兼容性问题。 首先,我们需要理解什么是文件编码。文件编码是指在计算机中存储和处理文本的方式,常见的有GBK和UTF-8...

    java批量转换文件编码

    其中,`BufferedReader`和`BufferedWriter`用于读写文件,`InputStreamReader`和`OutputStreamWriter`则可以指定文件的编码格式。这里,我们可以通过以下步骤实现批量转换: 1. **读取文件**:创建`...

Global site tag (gtag.js) - Google Analytics