1

そこで字幕ファイルを変更するアプリを作っています。私がそれをテストしていたとき、私は奇妙な問題に直面しました。英語以外(ペルシャ語など)でテストしていたとき、プログラムはファイルを読み取れませんでした。これは私のプログラムで字幕を読む方法です:

    Scanner sub = null;
    try {
      sub = new Scanner(new File(address));
    } catch (FileNotFoundException ex) {
      ex.printStackTrace();
    }
while(sub.hasNext()){
  String sentence = sub.nextLine();
  //some magical stuff here :)
}

address は、.srt ファイルの場所を保持する文字列です。

プログラムがファイルを読み取るにはどうすればよいですか?

4

2 に答える 2

8

を作成するときに別のエンコーディングを選択しScannerます。

これに沿った何かがうまくいくかもしれません:

new Scanner(new File(address), "UTF-16");

これにより、スキャナが UTF-16 エンコーディングを使用してファイルを読み取るように変更されます。

エンコーディングの詳細については、こちらを参照してください。

于 2013-08-08T21:06:53.833 に答える