String readLine = bufferedReader.readLine(); String[] lineArray = readLine.split(“,”);获取到的数据乱码
时间: 2024-09-20 08:10:17 浏览: 39
android使用JSON进行网络数据交换收集.pdf
当你使用`readLine()`从文件输入流读取一行数据并将其存储为字符串`readLine`,然后尝试通过逗号(`", "`)分割这个字符串到数组`lineArray`时,如果原始文本存在乱码,通常是因为编码问题。这可能发生在读取过程中使用的源文件编码、目标程序的默认字符集或者两者之间不匹配。
1. 首先,确认读取文件时使用的编码:检查`BufferedReader`实例是否指定了正确的输入文件编码,如UTF-8、GBK等。例如:
```java
InputStreamReader reader = new InputStreamReader(inputStream, "UTF-8");
BufferedReader bufferedReader = new BufferedReader(reader);
```
2. 如果数据是从网络或其他非标准来源获取的,可能需要明确指定其编码格式。
3. 分割操作本身不会直接导致乱码,但如果分割后的字符串未经解码就处理,可能会显示为乱码字符。在处理每个分割得到的部分之前,应先将其转换回正确的字符集。
确保你在处理字符串之前正确地对原始数据进行了解码,比如:
```java
String decodedLine = new String(readLine.getBytes("ISO-8859-1"), "UTF-8"); // 或者你的实际编码
String[] lineArray = decodedLine.split(",");
```
阅读全文