1. ホーム
  2. java

[解決済み] Javaコードをコンパイルしようとすると不正な文字が表示される

2022-02-28 07:11:56

質問

リッチテキストボックスにjavaのコードを入力し、javaコンパイラでコンパイルするプログラムを持っています。書いたコードをコンパイルしようとすると、「コードの先頭に、存在しない不正な文字がある」というエラーが出ます。これは、コンパイラが出しているエラーです。

C:\Users\Travis Michael>"\Program Files\Java\jdk1.6.0_17\bin\javac" Test.java
Test.java:1: illegal character: \187
public class Test
 ^
Test.java:1: illegal character: \191
public class Test
  ^
2 errors

解決方法は?

Encodingを指定しない場合、例えばFile.WriteAllText()やStreamWriterでBOMが生成されます。 デフォルトでは、UTF8エンコーディングを使用してBOMを生成します。 javaコンパイラにこのことを伝えるには、-encodingコマンドラインオプションを使用します。

最も抵抗の少ない方法は、BOM を生成しないことです。 System.Text.Encoding.Default を指定すると、オペレーティングシステムのデフォルトコードページの文字でファイルを書き、BOMを書きません。 File.WriteAllText(String, String, Encoding) オーバーロードまたは StreamWriter(String, Boolean, Encoding) コンストラクタを使用してください。

ただ、作成したファイルが世界の片隅にあるマシンでコンパイルされないように注意してください。 それは モジバケ .