0

我在文件写入方面遇到问题。当我使用 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();
4

1 回答 1

0

您可以使用 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();
于 2012-05-10T04:23:10.220 回答