Java 如何使用UTF-8格式的文件作为.srt文件在mediaplayer中显示字幕?
我在写文件方面遇到了一个问题。当我使用UTF-8格式在文件中编写孟加拉语和英语时,该文件正好包含我编写的内容。 但问题是,当我要使用这个文件作为.srt文件来在媒体播放器中显示视频的字幕时 媒体播放器不能显示孟加拉语字幕,而是显示一些英语和一些符号 但是当我将我的文件(我在其中写入)的内容复制到其他文件时, 然后使用另一个文件,媒体播放器可以准确地显示我在文件中写入的内容 比如说孟加拉语,英语 我的问题是为什么第一个文件不能做和第二个文件相同的事情。 如何在我可以使用第一个文件的代码中消除这个问题Java 如何使用UTF-8格式的文件作为.srt文件在mediaplayer中显示字幕?,java,file,utf-8,indic,srt,Java,File,Utf 8,Indic,Srt,我在写文件方面遇到了一个问题。当我使用UTF-8格式在文件中编写孟加拉语和英语时,该文件正好包含我编写的内容。 但问题是,当我要使用这个文件作为.srt文件来在媒体播放器中显示视频的字幕时 媒体播放器不能显示孟加拉语字幕,而是显示一些英语和一些符号 但是当我将我的文件(我在其中写入)的内容复制到其他文件时, 然后使用另一个文件,媒体播放器可以准确地显示我在文件中写入的内容 比如说孟加拉语,英语 我的问题是为什么第一个文件不能做和第二个文件相同的事情。 如何在我可以使用第一个文件的代码中消除这个问
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();
您可以使用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();