0

サンプルコード

EditText txtData = (EditText) findViewById(R.id.txtData);
Button btnReadSDFile = (Button) findViewById(R.id.btnReadSDFile);
btnReadSDFile.setOnClickListener(new OnClickListener() {
    public void onClick(View v) {
        // write on SD card file data in the text box
        try {
            //Read a file from SDCard to TextBox(EditText)
            File myFile = new File("/mnt/sdcard/config_data.med");
            FileInputStream fIn = new FileInputStream(myFile);
            BufferedReader myReader = new BufferedReader(new InputStreamReader(fIn));
            String aDataRow = "";
            String aBuffer = "";
            while ((aDataRow = myReader.readLine()) != null) {
                aBuffer += aDataRow + "\n";
            }
            txtData.setText(aBuffer);
            myReader.close();
            String s = txtData.getText().toString();
            Log.e("txtData",s);
        }catch (Exception e) {
            Toast.makeText(getBaseContext(), e.getMessage(), Toast.LENGTH_SHORT).show();
        }
    }
});

オリジナルのファイルコンテンツ

Welcome
To
All

ログ結果のスクリーンショット

ここに画像の説明を入力してください

ここでコンテンツが崩壊するのはなぜですか?どうすれば解決できますか?

4

1 に答える 1

2

これはエンコーディングの問題であるはずです。これを試して:

FileInputStream fIn = new FileInputStream(myFile);
BufferedReader myReader = new BufferedReader(new InputStreamReader(fIn, "UTF-8"));

別のエンコーディング文字セットを参照するエンコーディング文字 セット

于 2012-07-06T10:04:51.377 に答える