在Eclipse中运行时一直都很正常,但是一旦导出成jar包时就出现错误,不能正确读取中文,试了很多办法都没有用。 什么new String(str.getBytes(), "UTF-8"); 和System.setProperty("file.encoding","UTF-8")都不顶用。
最后发现只要在读取文件内容的时候,把InputStreamReader写成下面这样即可。
InputStreamReader read = new InputStreamReader(new FileInputStream(f),"UTF-8");
BufferedReader reader=new BufferedReader(read);
String line = null;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
通过打开文件是指定文件编码的方法把这个问题轻松的解决了。
最后总结一下:java要读取数据流的时候一定要指定数据流的编码方式(至少读取String流的时候要这么作。
输出文件内容时,转换一下成UTF-8编码,转换方式为:
/**
* 中文转unicode
*
* @param str
* @return 反回unicode编码
*/
public static String chineseToUnicode(String str)
{
String result = "";
for (int i = 0; i < str.length(); i++)
{
int chr1 = (char)str.charAt(i);
if(chr1 > 0 && chr1 < 11 * 15)
{
result += str.charAt(i);
}
else if (chr1 <= 0 || chr1 >= 16 * 16 * 16)
{
result += "\\u" + Integer.toHexString(chr1);
}
else if (chr1 < 16 * 16 * 16 && chr1 >= 16 * 16)
{
result += "\\u0" + Integer.toHexString(chr1);
}
else if (chr1 < 16 * 16 && chr1 >= 11 * 15)
{
result += "\\u00" + Integer.toHexString(chr1);
}
}
return result;
}
分享到:
相关推荐
以下将详细介绍如何在Java中读取含中文key的Properties文件,并利用反射调用相关方法。 首先,我们需要理解Java的Properties类。`java.util.Properties`是Java标准库中的一个类,它提供了一种加载和保存属性列表的...
JAVA解决URL路径中含有中文的问题。无论是路径中还是文件名包含中文都可以处理。经测试验证通过。
博主分享了一个实用的方法,即通过Unicode转换工具来处理含有中文字符的properties文件,以确保数据的正确性。 首先,我们需要理解Java Properties文件的编码问题。默认情况下,Java Properties类在读取和写入文件...
java使用的jpoi读取execl文件 该资源含有最新的poi的jar包 可以用来读取execlxls xlsx两种格式 里面含有代码可以直接运行
java 读取txt文件,文件中包含汉字和英文。并且含有乱码处理的方法。
通过上述方法,可以有效地解决Java读取Excel文件中日期格式的问题。这种方法不仅能够准确地识别日期格式,还能够妥善处理特殊情况,确保数据的一致性和准确性。在实际应用中,可以根据具体需求调整日期格式的解析...
java读取txt文本中如含有中文,可能会出现乱码,解决方案是: 1.要统一编码,java工程的编码,txt文本编码,java工程中的java文本编码都统一为utf-8; 2.利用 InputStreamReader(new FileInputStream(fileUrl), ...
标题中的“找出代码文件中含有中文的程序”是一个关于软件开发中的文本分析任务,目标是检测源代码文件中是否包含非英文字符,特别是中文字符,但要排除注释部分。这通常是为了确保代码的国际化和本地化,以及避免...
通过读取文件中的字节数据,可以移动文件指针并获取数据,如FARRecord类中所示,其中cpuType和stdfVer分别通过读取字节并应用位掩码(AND 0xff)来获得。 主程序处理STDF文件的大致流程如下: 1. 打开STDF文件,...
标题提到的"解决了DBF数据和表头乱码的javadbf.jar"是一个Java库,它专门用于处理DBF文件。原始的javadbf.jar可能存在读取DBF文件时编码转换不准确的问题,导致中文或者其他非ASCII字符显示为乱码。开发者通过识别并...
本篇将深入探讨如何使用Java有效地逐行读取含有中文字符的txt文本文件,并避免乱码问题。 首先,我们需要了解文本文件的编码方式。常见的编码格式有ASCII、GBK、UTF-8等。其中,GBK是针对中文字符的扩展ASCII编码,...
读取txt文件,统计“java”字符串出现的次数
在Java编程中,处理Excel文件是一项常见的任务,无论是读取数据、创建新的Excel工作簿,还是向其中插入文字和图片,都有成熟的库可以支持。本篇文章将深入探讨如何使用Java来实现这些功能。 首先,我们需要引入一个...
在Java Web开发中,处理包含文件上传...通过以上步骤,我们可以有效地在Java中读取和处理通过`multipart/form-data`方式提交的表单数据,包括文件上传。理解这些概念和技术对于任何Java Web开发者来说都是至关重要的。
通过引入这个特殊的"zip.jar"库,开发者可以在Android平台上更顺利地处理含有中文字符的ZIP文件,而无需担心乱码问题。这是一个轻量级且高效的方法,对于处理跨平台的压缩文件问题尤其有用。在实际开发中,我们应该...
在Java编程环境中,生成Excel文件是一项常见的任务,特别是在数据处理、报表生成或导出时。在本场景中,我们使用了jxl.jar库来完成这个功能。jxl是一个开源的Java库,它允许开发者读取、写入和修改Excel文件(.xls...
删除文件同样可以通过`java.io.File`类中的`delete()`方法实现: ```java public void delFile(String fileName) { try { File myFileName = new File(fileName); boolean result = myFileName.delete(); if ...
这里需要注意的是命令中的`-jar`选项,它告诉Java运行时环境去读取该文件的`manifest.mf`文件,并从中找出`Main-Class`,然后执行该类的`main`方法。 #### 总结 通过上述步骤,可以在Linux环境下顺利地执行含有`...
对于每个文件,我们使用`java.nio.file.Files`类的`readAllLines()`方法读取文件内容,这会返回一个包含文件所有行的列表。 ```java List<String> lines = Files.readAllLines(file.toPath()); ``` 3. **搜索...