android显示阿拉伯语文档,来自textView中sdcard的docx文件

时间:2015-11-20 11:21:59

标签: android encoding bufferedreader

我需要从我的Android应用程序中读取放入我的SD卡的阿拉伯语docx,并将文本显示为textView,我使用下面的代码,但文本看起来像奇怪的字符。使用UTF-8以外的编码是什么:

        File logFile = new File(path + name);
    if (logFile.exists())
    {
       try
       { FileInputStream fIn = new FileInputStream(logFile);
             BufferedReader myReader = new BufferedReader(
                     new InputStreamReader(fIn,"UTF-8"));
             String aDataRow = "";
             String aBuffer = "";
             while ((aDataRow = myReader.readLine()) != null) {
                 aBuffer += aDataRow + "\n";}
             tv.setText(aBuffer); //tv is the textView
             myReader.close(); 
           logFile.createNewFile();
       } 
       catch (IOException e)
       {
          // TODO Auto-generated catch block
          e.printStackTrace();
       }

1 个答案:

答案 0 :(得分:2)

您可以将其转换为HTML文件并将其放入资源并使用WebView进行显示。

XML中的

<WebView
  android:layout_width="match_parrent"
  android:layout_height="match_parrent"
  android:id="@+id/WV1"
/>

在您的活动类中:

public class MainActivity extends AppCompatActivity {  

    public WebView wv;

    @Override  
    public void onCreate(Bundle savedInstanceState) {  
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);  

        wv = (WebView) findViewById(R.id.WV1);  
        wv.loadUrl("file:///android_asset/myWV.html");
    }  
}