BufferedReader在不同的Android版本上给出了奇怪的行为

时间:2013-05-22 10:42:35

标签: java android

我正在尝试打开现有文件并对其进行处理,并将其保存在Android中的其他位置。

File in = new File("/sdcard/a.pdf"); // This file exists in the location and has been obtained by using getExternalStorage()
FileInputStream fis = new FileInputStream(in);
BufferedReader br = new BufferedReader(new InputStreamReader(fis));

header = br.readLine(); // this gives first line in android 2.3.3 but gives null in android 2.3.6

在Android 2.3.3中执行上面的代码,在Android 2.3.6中执行它时标题会在标题中显示“null”。

可能是什么问题?

请帮助。

1 个答案:

答案 0 :(得分:0)

确保在每种情况下明确指定要使用的字符集。目前,您依赖于默认设置,默认设置可能因平台而异。

请尝试替代InputStreamReader构造函数:

new InputStreamReader(fis, "UTF-8")