Android Studio:从内部存储解码问题中读取

时间:2017-02-11 02:06:35

标签: android fileinputstream internal-storage android-internal-storage

我在Android Studio的内部存储文件中读取我正在制作的Android应用程序时遇到问题。我有一个具有edittext的应用程序,用户可以输入文本。然后,在按钮单击时,我将此文本保存在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) {

        }

另外,请注意***我知道问题不在于保存文件,因为我有其他测试方法,并且我已将问题确定为源于加载文件。

0 个答案:

没有答案