从文本中读入文件时,要是文本存在中文,用字节流的形式读取文件,即使写入如下代码:
StringBuffer sqlSb = new StringBuffer();
byte[] buff = new byte[1024];
int byteRead = 0;
while ((byteRead = sqlFileIn.read(buff)) != -1) {
sqlSb.append(new String(buff, 0, byteRead));
}
String temp2 = new String(sqlSb.toString().getBytes("UTF-8"), "UTF-8");
System.out.println("读出文件信息:"+temp2);
这样进行了字符集的改变,但也不能正确读取文件中的中文。而文本中都是字符串类型的数据,所以可以用字符流读取文件,代码如下:
File file=new File(sqlFile);
BufferedReader reader = null;
reader = new BufferedReader(new FileReader(file));
String str = null;
while ((str = reader.readLine()) != null) {
System.out.println(str);
sqlSb.append(str+"\r\n");
}
所以,当要读取文本中存在中文的文本时,最好要用字符流读取文件!
分享到:
相关推荐
- 如果在读取CSV文件时使用了错误的编码(如GBK或ISO-8859-1),则会导致中文字符显示为乱码。 2. **Java读取CSV文件**: - 使用`BufferedReader`和`InputStreamReader`组合,可以指定字符编码读取文件。例如: ...
在Android平台上,开发人员经常遇到一个棘手的问题,那就是如何正确地读取包含中文字符的TXT文件,因为不恰当的处理往往会导致乱码。本文将深入探讨如何彻底解决这一问题,包括自动判断文档编码类型以及进行转码操作...
### Android读取中文文件乱码解决方法 #### 一、问题背景 在开发Android应用时,经常需要处理中文字符或包含中文的文件。如果处理不当,可能会遇到中文乱码的问题,尤其是在读取本地文件或者从网络下载文件时更为...
在Java编程中,读取包含中文字符的文件时可能会遇到乱码问题,这通常是由于编码格式不匹配导致的。要解决这个问题,我们需要理解文件的原始编码格式,并在Java代码中正确地设置字符集。以下是一些相关的知识点: 1....
读取完成后,确保使用`Using`语句块来自动关闭流,这是一种良好的编程实践,可以防止资源泄漏。 如果记事本文件不是ANSI编码,比如它是UTF-8编码且包含BOM(字节顺序标记),则需要使用`Encoding.UTF8`代替`...
总之,在Android中读取包含中文字符的文本文件时,必须确保正确地识别和使用文件的编码格式,以避免出现乱码。上述代码提供了一个基础的实现,但在实际项目中,可能需要根据具体情况进行优化,比如处理更多种类的...
`InputStreamReader` 用于将字节流转换为字符流,而 `BufferedReader` 用于读取文本文件。为了避免中文乱码,需要在 `InputStreamReader` 构造函数中指定编码方式为 "UTF-8",例如: `InputStreamReader read = new...
1. **读取本地JSON文件(但显示汉字乱码)** 这个问题通常发生在读取文件时没有正确指定字符编码。在Android中,我们通常使用`AssetManager`来访问应用的资源文件,包括JSON文件。下面的代码展示了如何读取JSON文件...
在使用C#进行编程时,处理文本文件尤其是包含汉字的txt文件,可能会遇到字符编码问题导致的乱码现象。本文将深入探讨如何在C#中正确地读写包含汉字的txt文件,避免乱码问题的发生。 #### 问题分析 乱码问题的根本...
在读取文件时,使用`StreamReader`类,并指定`Encoding.UTF8`,这样能确保读取的汉字正确无误。 4. **VS2013设置**:虽然VS2013主要用于C#开发,但它也支持打开和编辑文本文件。在用VS打开Lua文件时,确保文件的...
当涉及到UTF-8编码时,问题在于C++标准库默认处理的是ASCII编码,这可能导致在读写非ASCII字符(如中文、日文等多字节字符)时出现乱码。为了解决这个问题,你需要确保正确地指定文件的编码格式。 在读取UTF-8编码...
当从本地文件系统或者HDFS读取包含中文的文本文件时,如果没有正确设置文件的字符编码,就可能出现乱码。解决方法是在读取文件时指定正确的编码格式,例如使用`FileInputStream`时配合`InputStreamReader`指定GBK...
4. **处理流时指定编码**:在读取或写入文件时,使用带有编码参数的方法。例如,Java的`BufferedReader`和`BufferedWriter`可以接受一个`Charset`对象,Python的`open()`函数可以接受`encoding`参数。 5. **检查...
这些类默认使用平台的默认字符集,这可能导致在不同操作系统上读取同一文件时出现乱码。因此,我们需要明确指定文件的编码格式。 博文链接中的资源`UnicodeReader.java`和`UnicodeInputStream.java`可能提供了...
总结来说,处理Java中ZIP文件的中文乱码问题,关键在于明确指定字符集,通常是UTF-8,无论是使用Java内置的API还是第三方库。同时,理解文件系统的编码和压缩/解压过程中的字符编码转换也非常重要。通过这种方式,...
在Java编程中,读取文件时可能会遇到乱码问题,这通常是由于文件编码格式与程序期望的编码格式不一致导致的。本篇文章将深入探讨如何在Java中正确地读取不同编码格式的文件,以避免乱码现象。 首先,我们需要了解...
在IT领域,尤其是在Web开发中,处理文件下载和解决中文文件名乱码问题是常见的需求之一。本文将深入探讨如何通过二进制流转换为文件来实现文件下载,并着重讲解如何解决中文文件名出现的乱码问题。 ### 文件下载...
中文乱码问题在Java中的表现多种多样,例如,从文件读取中文数据时显示为乱码,通过HTTP请求接收的中文内容显示异常,或者在控制台上打印中文字符出现乱码等。这些问题的根源在于编码的不统一,比如文件是GBK编码,...
`ZipUtil`是一个专门用于文件压缩的工具类,它解决了在处理包含中文字符的文件或目录时可能出现的乱码问题。`ZipEntry`是Java标准库`java.util.zip`包中的核心类,用于表示ZIP文件中的一个条目,它可以是文件或目录...