我在从 Android Studio 中为我正在制作的 Android 应用程序读取内部存储文件时遇到问题。我有一个应用程序,它有一个用户可以输入文本的编辑文本。然后,单击按钮,我将此文本保存在 INTERNAL STORAGE 中以备将来使用。
但是,当我将文件从内部存储加载回edittext时,我使用的过程会将某些字符(***特别是英语以外的语言)更改为奇数符号。例如,如果我使用俄语文本输入,保存文件并尝试加载它,它将是一堆乱七八糟的符号和字母。
这是保存到内部存储的代码:
String codeData = htmlCode.getText().toString();
try {
FileOutputStream fileOutputStream = getActivity().openFileOutput("MyFile.html", getActivity().MODE_PRIVATE);
//byte[] bytes = htmlCode.getText().toString().getBytes("UTF-8");
fileOutputStream.write(codeData.getBytes("UTF-32"));
fileOutputStream.close();
} catch (Exception e) {
}
这是从内部存储加载的代码:
String putThisStringinEditText = "";
try {
FileInputStream fileInputStream = getActivity().openFileInput("MyFile.html");
int c;
String temp = "";
while ((c = fileInputStream.read()) != -1) {
temp = temp + Character.toString((char)c);
}
putThisStringinEditText = temp;
} catch (Exception e) {
}
另外,请注意***我知道问题不在于保存文件,因为我有其他测试方法,并且我已确定问题源于加载文件。