2012-05-10 4 views
0

У меня проблема с записью файла. Когда я пишу Bangla и английский в файле, используя формат UTF-8, файл содержит именно то, что я пишу. Но проблема в том, когда я собираюсь использовать этот файл в виде файла .srt, чтобы показать субтитры видео в медиаплеере.Как использовать файл формата UTF-8 в качестве файла .srt для отображения субтитров в медиапланере?

Медиаплеер не может отображать субтитры bangla, вместо слова bangla, медиа-плеер показывает некоторые английский и некоторый символ ....

Но когда я копирую содержимое своего файла (в котором я пишу) в другой файл, , а затем используя другой файл, медиаплеер может точно показать, что я пишу в файле таких как bangla, английский.

Мой вопрос: почему первый файл не может делать то же самое, что и второй файл. И как я могу удалить эту проблему в коде, чтобы я мог использовать 1-й файл.

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

Вы можете использовать UTF16 вместо UTF8, тогда будет работать 1-й файл.

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();