相信大部分人都知道,txt文件有四种编码格式,"GBK", "UTF-8", "Unicode", "UTF-16BE",每一种编码格式的区分在于写入文件头的信息不同.为了避免读取乱码的现象,我们应该在读取文本之前先读取文件头信息,以便做出正确的读取编码方式.下面给出方法.
/**
* 判断文件的编码格式
* @param fileName :file
* @return 文件编码格式
* @throws Exception
*/
public static String codeString(String fileName) throws Exception{
BufferedInputStream bin = new BufferedInputStream(
new FileInputStream(fileName));
int p = (bin.read() <<
+ bin.read();
String code = null;
switch (p) {
case 0xefbb:
code = "UTF-8";
break;
case 0xfffe:
code = "Unicode";
break;
case 0xfeff:
code = "UTF-16BE";
break;
default:
code = "GBK";
}
return code;
}
然后,以字符流的方式读取文本
FileInputStream fInputStream = new FileInputStream(file);
//code为上面方法里返回的编码方式
InputStreamReader inputStreamReader = new InputStreamReader(fInputStream, code);
BufferedReader in = new BufferedReader(inputStreamReader);
String strTmp = "";
//按行读取
while (( strTmp = in.readLine()) != null) {
sBuffer.append(strTmp + "/n");
}
return sBuffer.toString();
分享到:
相关推荐
本文将深入探讨如何读取和创建CSV文件,并特别关注自动解析文件编码方式这一关键环节。我们将使用Java语言进行示例,同时引入第三方库来辅助处理编码问题。 首先,创建CSV文件的基本过程涉及将数据写入具有特定分隔...
在Java编程语言中,将二进制文件转换为文本文档通常涉及到字符编码的理解和处理。二进制文件可以包含任何类型的数据,如图像、音频、视频或纯文本,但以非可读格式存储。而文本文档通常使用特定的字符编码(如ASCII...
下面将详细讲解如何使用Java读取文本文件,包括多种常用的方法和注意事项。 1. 使用`BufferedReader` `BufferedReader`类是Java中用于读取字符流的常用工具,它通过内部缓冲区提高读取效率。以下是一个简单的使用...
### Java读取文件方法大全:读取File流等技术 在Java中,读取文件是一项基本且重要的操作,它可以通过多种方式实现,如字节流、字符流和基于行的读取。下面将详细介绍这些方法: #### 字节级读取:`...
本文将详细介绍Java中四种不同的文件读取方法:按字节读取、按字符读取、按行读取以及随机读取。 1. **按字节读取文件内容** Java中`java.io.FileInputStream`类提供了按字节读取文件的功能。这种方法适用于读取二...
"Java读取TXT文本文件乱码解决方案" Java 读取 TXT 文本文件乱码解决方案中,主要讨论的是在 Java 中读取 TXT 文本文件时出现乱码的问题,并提供了解决方案。 首先,文章中提供了一个简单的读取 TXT 文件的代码,...
Java解析FTP服务器文本文件 Java解析FTP服务器文本文件是指使用Java语言连接FTP服务器,上传、下载、递归目录遍历等基本操作的集合。在这个过程中,我们需要引入相关的jar包,例如cpdetector.jar、jchardet-1.0.jar...
在这个例子中,`CodepageDetectorProxy` 是一个探测器代理,它会根据添加的探测器依次尝试识别文件的编码,并返回第一个成功的结果。`ParsingDetector` 适合处理HTML、XML等结构化的文件,而`JChardetFacade` 是基于...
在Java编程语言中,识别文件编码格式是一项重要的任务,特别是在处理不同来源的文本文件时。在没有第三方JAR包的情况下,我们通常需要依赖Java内置的API来实现这一功能。以下是一些关键知识点: 1. **字符编码**:...
在Java编程语言中,获取文件编码是一个常见的任务,特别是在处理文本文件时,了解正确的编码格式至关重要,因为不同的编码方式会影响字符的表示和解析。本文将深入探讨如何在Java中识别和处理不同类型的文本编码,如...
如果很多时候我们没有约定好文件格式,我们就难以读取文件内容,此时,我们就需要一个工具来探测所读文本的编码格式,此工具可以允许用户读取诸如utf-8,gbk,gb2312一类的文件格式。内置了一些常用的探测实现类,...
Java自动识别文件字符编码工具类 参考博客 https://blog.csdn.net/superbeyone/article/details/103036914 使用方式: String encode = EncodingDetect.getFileEncode(geoJsonFile); log.info("系统检测到文件[ {}...
例如,`java.io.FileInputStream`可以用来读取二进制文件,`java.io.FileReader`和`java.io.BufferedReader`可以用来读取文本文件。 4. **相对路径和绝对路径**: - 在Java中读取文件时,可以使用相对路径或绝对...
通常,当我们从网站下载或抓取数据时,文件的编码可能会有所不同,如UTF-8、GBK、ISO-8859-1等,因此,自动识别正确的编码对于正确解析和显示文本至关重要。 首先,我们需要理解字符编码的基本概念。字符编码是一种...
在Java开发中,经常会遇到需要处理不同编码格式的文件的情况。为了确保程序能够正确解析文件内容,必须先判断文件的编码格式。本文将详细介绍如何使用Java来判断文件是否为UTF-8或GBK编码,并提供一个示例代码。 ##...
1. **文本文件读取**:对于服务器端生成的文本数据文件,可以在不同数据段之间及整个数据文件结束处设立文本结束标志。此时,Java程序可以按行读取数据,再转换成相应的数值类型。 2. **二进制文件读取**:对于...
标题提到的“JAVA获取文件编码格式”是一项常见的任务,特别是在处理来自不同来源的文本文件时。在这种情况下,我们可以利用第三方开源库来帮助我们完成这项工作。描述中提到了一个叫做"cpdetector"的工具,这是一个...
`JavaTxt解析文本代码或输出指定编码文本`这个主题聚焦于如何使用Java有效地识别和处理不同编码类型的TXT文件。这个工具类,如`TxtEncodingDetect.java`所示,提供了一种方法来检测和解析文本文件的编码格式,比如...