さまざまなソートアルゴリズムの効率を比較するために、別の辞書テキストファイル(たとえばA)でテキストファイル(たとえばB)内の単語を検索するプログラムを作成しています。Java - テキストファイルから特殊文字を読み取ることができない
私の問題は、これらのソーステキストファイルのいずれかに「μ」などの特殊文字が含まれている場合です。まず、このような文字を含むテキストファイルをWindowsに保存するには、エンコードをANSIからUTF-8のようなものに変更する必要があるとメモ帳で言います。
特殊文字を含む行があると、プログラムがクラッシュします。具体的には、この単語がcompareToメソッドを使用して他の辞書テキストファイル内の単語と比較される時点です。それはNullPointerExceptionでクラッシュします。
「μ」が「Âμ」と表示され、奇妙な文字が常に第1行に表示されていることを確認するために特殊文字が印刷されています(「」)。私は特殊文字を読んでいましたか、私も
一般にFileReaderのを試してみました
inputStream = new Scanner (new FileInputStream(args[0]));
、または単語は特殊文字を含む:
は、私は、ファイル入力用のスキャナを使用していますか?これらの文字は、組み込みのcompareToメソッドと互換性があるか、それらを注文する別の方法を見つける必要がありますか?
コードが少なすぎると思われます。 (arg [0]はパブリッシュ静的void main(String [] args)のパラメータのように見えます)あなたのプログラムをパラメータで呼びますか? –
はい、args [0]はファイル名 – user929404