Java TextView和原始文件的问题

Java TextView和原始文件的问题,java,android,android-layout,textview,togglebutton,Java,Android,Android Layout,Textview,Togglebutton,我正在编写一个Android应用程序,处理原始文本文件。我注意到,当使用切换按钮时,textview会在文件的实际文本之前显示一些奇怪的字符。下面的图片显示了我正在谈论的角色。我想知道如何摆脱这些字符,因为它们不能出现在应用程序的最终版本中。有人知道问题会是什么吗? 处理切换按钮的代码如下所示: ELswitch = (ToggleButton)findViewById(R.id.toggleButton1); ELswitch.setOnCheckedChangeListener(n

我正在编写一个Android应用程序,处理原始文本文件。我注意到,当使用切换按钮时,textview会在文件的实际文本之前显示一些奇怪的字符。下面的图片显示了我正在谈论的角色。我想知道如何摆脱这些字符,因为它们不能出现在应用程序的最终版本中。有人知道问题会是什么吗?

处理切换按钮的代码如下所示:

ELswitch = (ToggleButton)findViewById(R.id.toggleButton1);
    ELswitch.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {


        public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
            // TODO Auto-generated method stub
            if(isChecked==true)
            {
                InputStream iFile = getResources().openRawResource(R.raw.sunday_compline_latin);
                System.out.println(R.raw.sunday_compline_english);
                try {

                    text.setText(inputStreamToString(iFile));
                    text.setFocusable(false);
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            } else {
                InputStream iFile = getResources().openRawResource(R.raw.sunday_compline_english);
                try {

                    text.setText(inputStreamToString(iFile));
                    text.setFocusable(false);
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            }
        }
    });
代码运行良好,似乎没有任何改变文本文件的地方,因为这些字符没有出现在原始文件中。此外,我还有一个类似的活动,它不使用切换按钮,这些字符只出现在这个实例中(使用切换按钮)。代码有问题吗?有人有什么建议吗

以下是我的inputStreamToString:

public String inputStreamToString(InputStream is) throws IOException
{
    StringBuffer sBuffer = new StringBuffer();
    DataInputStream dataIO = new DataInputStream(is);
    String strLine = null;
    while ((strLine = dataIO.readLine()) != null)
    {
        sBuffer.append(strLine + "\n");
    }

    dataIO.close();
    is.close();

    return sBuffer.toString();
}

}

是否需要使用
openrawsource()
?这是UTF16(Little Endian)文本的字节顺序标记。我想我不知道,但恐怕我不完全理解你的意思。有没有其他方法可以不使用openRawResource而读取原始资源文件?或者您是说文本文件的格式不好?您使用的是哪种
inputStreamToString()
方法?我在Android中找不到它SDKI更新了我的问题。提前感谢。请阅读您使用的
readLine()
方法,按照那里的建议进行操作,如果有帮助或没有帮助,请给出反馈。