1

txt ファイルからいくつかのデータを取得し、それらのデータをアプリ内に表示する必要があります。

私の問題は、txt 内に特別な文字「ø」がある場合、これが表示されず、「?」が表示されることです。が代わりに表示されます。

私は次のようなデータをチェックしようとしました

 if(string.charAt(i) == 'ø') do sth

また

string.replace('ø' , 'O')

しかし、どれも機能していません.Javaはその文字をまったく認識できなかったと思います。

何か考えはありますか?

ありがとう

編集

これが私がデータを読む方法です

String[] obj = getText(getActivity(), myTXT.txt").split("\n");

getText は次のとおりです。

    public String getText(Context c, String fileName){

    ByteArrayOutputStream outputStream = null;
    try {

        AssetManager am = c.getAssets();
        InputStream is = am.open(fileName); 

        outputStream = new ByteArrayOutputStream();
        byte buf[] = new byte[1024];
        int len;
        while ((len = is.read(buf)) != -1){
            outputStream.write(buf,0,len);
        }
        outputStream.close();
        is.close();

    } catch (FileNotFoundException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }

    return outputStream.toString();
}
4

1 に答える 1

0

これらの文字はエンコードされている必要があります。インUTF-8コーディングかどうかを保存するときにファイルを確認してください。InputStreamReaderエンコーディングを指定するコンストラクタを使用するインスタンスを作成します。

InputStreamReader r= new InputStreamReader(new FileInputStream(myFile),"UTF-8");
// read your contents here.
r.close();
于 2013-10-12T12:50:44.337 に答える