Как использовать файл формата UTF-8 в качестве файла.srt для отображения субтитров в медиаплеере?
У меня проблема с записью файлов. Когда я пишу бангла и английский в файле в формате UTF-8, файл содержит именно то, что я пишу. Но проблема в том, что я собираюсь использовать этот файл как файл.srt для отображения субтитров видео в медиаплеере.
Медиаплеер не может показывать субтитры на бангла, вместо слова бангла медиаплеер показывает какой-то английский и какой-то символ....
Но когда я копирую содержимое моего файла (в который я пишу) в другой файл, а затем, используя другой файл, медиаплеер может показать именно то, что я пишу в файле, например, bangla, english.
Мой вопрос: почему 1-й файл не может сделать то же самое, что и 2-й файл? И как я могу удалить эту проблему в коде, который я могу использовать 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();
1 ответ
Вы можете использовать UTF16 вместо 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();