• 締切済み

classファイルについて

JAVAのクラスファイルを開いてみようと思ったのですが、 中身が文字化け?のようになり文字が読めません。 詳しい方ぜひ教えて下さい。

みんなの回答

回答No.5

Javaの場合、ソースファイルの拡張子は.javaで、コンパイルしたあとの拡張子は.classと決まってます。 Javaはコンパイル言語なので、javaファイルをjavacというコンパイラでコンパイルし、実行できるようにしたのがclassファイルです。 (周辺の説明は割愛しますが、)classファイルは実行のためにコンピュータがわかればよい状態になっているので、テキストエディタで開いても読めません。classファイルとの対応はソースファイルなのですから、javaファイルを読めばよいですよね。 Windows の場合は、.exe が実行形式ファイルですが、これをテキストで開いても読めないのと同じです。コンピュータにしかわからない形式にすでにコンパイルされているからです。 それでも.classの中身をハックしたいというのであれば、他の方の回答にあるリバースコンパイラを使われるか、がんばって、Javaのコンパイラ仕様や、インタプリタ仕様などを読み解いてみてください。 という回答でいいのかな?

全文を見る
すると、全ての回答が全文表示されます。
  • singlecat
  • ベストアンサー率33% (139/418)
回答No.4

クラスファイルだってのですね.... ちゃんと書いてあるのに、ソースだと勘違いしていましたorz

全文を見る
すると、全ての回答が全文表示されます。
回答No.3

逆コンパイルしてソースを見たいならjadあたりを使ってみてください。

全文を見る
すると、全ての回答が全文表示されます。
noname#208124
noname#208124
回答No.2

classファイルはテキストエディタで開くものじゃありません

yagi-yu
質問者

補足

何で開けば見れるのでしょうか?

全文を見る
すると、全ての回答が全文表示されます。
  • singlecat
  • ベストアンサー率33% (139/418)
回答No.1

文字コードが異なっているのでは無いでしょうか? 文字コードを指定して開けるエディタをご用意下さい。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • classファイルについて

    お聞きしたいのですが、 コンパイルしたあとに作られるclassファイルを開いてみたら、 解読できない、文字化けのようになっています。 これはやっぱりおかしいのでしょうか?

    • ベストアンサー
    • Java
  • ASP.NETから Java classファイル

    ASP.NETから、Java CLASSファイルを実行するやり方が わかりません。 このクラスファイルを使用し、引数として文字列を渡し、戻値を受け取って ページに結果を表示させることを考えています。 ご存じの方が居ればご教授いただきたく。 よろしくお願いいたします。

  • classファイルが作成されない

    コマンドを使ってjavaを実行しclassファイルを作成しようとしているのですが、実行できません。 実行したいパターンとしてhtml→javaファイルを呼び出す形にしたいのですが、クラスファイルができません。 javaファイルの存在する箇所に設定し,javac srv_escape.javaを記入すると 以下のエラーが出ました。このときの解決策はどのようにすればいいのでしょうか? Exception in thread "main" java.lang.NoClassDefFoundError:com/sun/tools/javac/Main と出ます。 他のQ&Aを見たりはしてたのですがよくわからなかったので質問しました。 このときの状態としてjavaソースの場所はC:\Program Files\Apache Tomcat 4.0\webapps\jsp10でjavac.exeファイルあり。 htmlファイルはC:\Program Files\Apache Tomcat 4.0\webapps\jsp10\day08-2においています。 ソース内容が html <html><head> <title>予約文字のエスケープ></title> </head> <body> <h1>予約文字のエスケープ</h1> <form name="POST" action=/jsp/servlet/srv_escape"> 入力文字: <input type="text" name="esc" size="30" /> <input type="submit" value="送信" /> </form> </html> java import java.io.*; import java.util.*; import javax.servlet.*; import javax.servlet.http.*; public class srv_escape extends HttpServlet { int i; public void doPost(HttpServletRequest request, HttpServletResponse response ) throws ServletException,IOException { response.setGontentType("text/html;charset=Shift_JIS"); PrintWriter out=response.getWriter(); out.println("<html><head>"); out.println("<title>予約文字のエスケープ</title>"); out.println("</head><body>"); out.println(<h1>予約文字のエスケープ</h1>"); out.println("入力した文字:"); out.println(strEscape(request.getParameter("esc"))); out.println("</body></html>"); } private String strEscape(String strEsc){ StringBuffer strResult=new StringBuffer(); for(int i=0;i<strEsc.length();i++){ switch(strEsc.charAt(i)){ case '&': strResult.append("&amp;"); break; case '<' : strResult.append("&lt;"); break; case '>' : strResult.append("&gt;"); break; default: strResult.append(strEsc.charAt(i)); break; } } return strResult.toString(); } } です。 よろしくお願いします。

    • ベストアンサー
    • Java
  • ファイル出力時、ファイル名が文字化けする

    Windows上から持ってきたファイルのファイル名ををLinux上のperlプログラムでdecode(perlの内部用文字に変換)してから最終的にutf8に変換してファイル出力を行う下記プログラムがあります 下記コードの①のケースで出力したファイルの中身は文字化けしていないです。ところが②のケースで出力した場合、ファイルの中身は文字化けしていないのですがファイル名が文字化けします。 何か良い対策方法ありますでしょうか。 ------------------------------------------------------------- use utf8; use Encode qw(decode encode); $name = decode('cp932', $name); ←$nameはファイル名 $name = encode('utf8', $name); my $outpath = '/sample/test'; ← ①ファイルの中身は文字化けしていない。 my $outpath = '/sample/' . $name; ← ②ファイルの中身は文字化けしていない。ファイル名が文字化け。 opne my $fh '>', $outpath; print $fh $name; close($fh);

    • ベストアンサー
    • Perl
  • cronでの文字化け

    RedHatLinux Enterprise Linux 4ESを使用しています。 rootではなユーザでcrontabを使用しており、 シェルファイルを呼び出し定期的に実行しています。 シェルファイルでは環境変数の設定を行い、 Javaのクラスファイルを実行しています。 Javaのクラスファイルで、稼動ログを出力(日本語)しています。 この時の稼動ログの出力ですが、 「Javaファイルの実行」「シェルファイルからの実行」ですと、 文字化けせずに出力されるのですが、 cronからの実行ですと、文字化けしてしまいます。 cronからの実行時に文字化けをしないようにする方法はあるのでしょうか? なお、JavaはShift-JISで作成しています。

  • 圧縮ファイルの文字化けについて教えて下さい

    すみません、教えてください。 圧縮ファイル(zip)を解凍するとファイル名が文字化けのようになります。どうしたら、文字化けにならずにすむでしょうか。中身(Excel)は普通に見られます。 よろしくお願いいたします。

  • CLASSというファイル

    こんちわ!いつもお世話になってます。また、疑問が発生しました。回答の方よろしくお願いいたします。JAVAのゲームサイトの配布コーナーがありDLしたところCLASSというファイルがありました。これを自分のHPに貼り付けて使用するみたいなのですが、どのように貼り付けたら良いのでしょうか?全くの初めて扱いますのでよろしくお願いいたします。

    • ベストアンサー
    • Java
  • javaのCLASS ファイルについて

    いらないJAVAのプログラムが増えてきたので保存してあるフォルダを整理していたところ、誤って必要なものまで削除してしまったのですがCLASS ファイルはあります。CLASSファイルからJAVAファイルに戻すことはできますか?

    • ベストアンサー
    • Java
  • classファイル

    プログラムを書いて、コマンドプロンプト上でコンパイルとしたところエラーが表示されたのですが、.javaとかかれたソースファイルのあるフォルダに.classというファイルが出来るのはなぜですか?エラーが発生したのでコンパイルは失敗したのですが。お願いします。

    • ベストアンサー
    • Java
  • classファイルの取り扱い方

    クラスファイルをnewをしてから関数を呼び出す場合と クラス名::関数名で呼び出す場合だとパフォーマンスやメモリの負担などの違いは在りますでしょうか? また、独自のpublic function関数のみのファイル(lib.php)をclassで囲ってあるのですが、 実際はincludeして扱うので、classで囲わなくても問題はないと思うのですが、どこのクラスにあるのかという目安として囲っています。 上記のファイル関数を呼び出す場合に 1.newをしてから$クラス変数->関数名(); 2.それともクラス名::関数名(); 3.そもそもclassで囲わないで、関数名();のみ コーディングルールがないのでどれが一般的なのかが分かりません。 教えて下さい。

    • ベストアンサー
    • PHP