- ベストアンサー
コンパイルできません
Javaのプログラムをコマンドプロンプトでコンパイルしようとしているんですが、プログラム中で画像データを byte [] imagedata = {-1, -40, -1, -32, 0, 16, 74, ・・・ -1, -39};のように記述しています。 そこで、コンパイルすると「このコードは64Kバイトを超えるサイズのメソッドの生成を必要とします。VirtualMachineは生成されるクラスファイルを拒否します。」と表示されてコンパイルできません。どうしたらいいのでしょうか?わかる方おられましたらお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
あるひとつのメソッドの内容が長すぎる、または多すぎるというエラーですね。 byte [] imagedata = {-1, -40, -1, -32, 0, 16, 74, ・・・ -1, -39}; がどれほど幅を利かせているかはわかりませんが、大きすぎるメソッドをコンパクトにまとめるとか、メソッドを分割するとかいったことが必要になると思います。 byte [] imagedata = {-1, -40, -1, -32, 0, 16, 74, ・・・ -1, -39}; が幅を利かせているのならば、いっそのこと画像データを別のファイル(GIFなど)に出してしまって、それをリソースとして取得したほうが賢いと思います。
その他の回答 (1)
- wolv
- ベストアンサー率37% (376/1001)
回答No.1
データ部分を別ファイルとし、 そのデータを読み込むクラスやメソッドを追加する、 ていうのでどうでしょう。
補足
幅はかなり利かせていると思います。数字の量がはんぱではないです(^^; 以前やっていた人のプログラムを引き継いだのですが、以前の人はJDK1.2.2でコンパイルできていたというのです。それができないようになっています。またはじめから1.2.2をインストールすればいいのでしょうか?