我正在尝试读取文本文件并在WebView中显示它。这是我的方法:
public static String readFileAsString(String filePath) {
String resultString = "";
File file = new File(filePath);
if ( file.exists() ) {
FileInputStream fileInputStream = null;
try {
fileInputStream = new FileInputStream(file);
char currentChar;
while (fileInputStream.available() > 0) {
currentChar = (char) fileInputStream.read();
resultString = resultString + String.valueOf(currentChar);
}
} catch (Exception e) {
Log.d("", e.toString());
} finally {
if (fileInputStream != null)
try {
fileInputStream.close();
} catch (IOException ignored) {
}
}
}
return resultString;
}
在同一个活动中我称之为:
textView = (WebView) findViewById(R.id.webView);
textView.loadData("<p style=\"text-align: justify\">"+ readFileAsString(finalPathText), "text/html; charset=windows-1250", "utf-8");
在我的应用程序中,所有内容都会显示,但在每个特殊字符之前,它会用^写入A.示例:Žilina
写为^AŽilina
。
有人可以帮助我吗?
答案 0 :(得分:0)
在您的代码中,您似乎对编码是windows-1250还是utf-8感到困惑。它不可能两者兼而有之。这是导致问题的最可能原因。您必须弄清楚实际的编码并将文件视为处理。
答案 1 :(得分:0)
有必要将编码从windows-1250更改为utf-8 / utf-16,因为编码windows-1250不支持特殊字符。