2012-05-10 19 views
0

我在寫文件時遇到了問題。當我使用UTF-8格式寫入Bangla和英文文件時,該文件完全包含我寫的內容。 但問題是,當我將使用這個文件作爲.srt文件,以顯示視頻的字幕在媒體播放器如何使用UTF-8格式的文件作爲.srt文件在mediaplayer中顯示字幕?

的媒體播放器不能顯示字幕孟加拉,而不是孟加拉字媒體播放器表現出一定的英文和一些符號....

但是,當我複製我的文件(我在其中)的內容到其他文件, ,然後使用另一個文件,媒體播放器可以精確顯示我在文件中寫入的內容 如孟加拉語,英語。

我的問題是爲什麼第一個文件不能做第二個文件做同樣的事情。 我怎樣才能刪除這個問題,我可以使用第一個文件的代碼。

BufferedWriter out = new BufferedWriter(
     new OutputStreamWriter(
        new FileOutputStream(file), "UTF8")); 
     int size=1; 
     for(Tableclass variable:tablevector) 
     { 
      out.write(String.valueOf(size)); 
      out.newLine(); 
      out.write(variable.Starttime); 
      out.write(" --> "); 
      out.write(variable.Endtime); 
      out.newLine(); 
      out.write(variable.Text); 
      out.newLine(); 
      out.newLine(); 
      // output.format("%d\n%s --> %s\n%s\n\n",size,variable.Starttime,variable.Endtime,variable.Text); 

     size++; 
     } 
     out.close(); 

回答

0

您可以使用UTF-16,而不是UTF8,則第一個文件將工作。

BufferedWriter out = new BufferedWriter(
    new OutputStreamWriter(
       new FileOutputStream(file), "UTF16")); 
    int size=1; 
    for(Tableclass variable:tablevector) 
    { 
     out.write(String.valueOf(size)); 
     out.newLine(); 
     out.write(variable.Starttime); 
     out.write(" --> "); 
     out.write(variable.Endtime); 
     out.newLine(); 
     out.write(variable.Text); 
     out.newLine(); 
     out.newLine(); 
     // output.format("%d\n%s --> %s\n%s\n\n",size,variable.Starttime,variable.Endtime,variable.Text); 

    size++; 

    } 
    out.close(); 
相關問題