まず、指定していないオペレーティングシステムによって異なります。Windowsの場合は、assocとftypeの2つのWindowsコマンドがあります。各タイプのファイルには「タイプ名」が付けられています。assocは拡張機能をタイプに関連付け、ftypeはタイプを実行するコマンドに関連付けます。
たとえば、現在使用しているワークステーションでは、.jarがjarfileassoc .jar=jarfile
に関連付けられ、jarfileが "C:\ Program Files \ Java \ jre6 \ bin \ javaw.exe" -jar "%1"%*に関連付けられています。ftype jarfile="C:\Program Files\Java\jre6\bin\javaw.exe" -jar "%1" %*
注:これを行うには、管理者グループに属している必要があります。
2番目の質問(おそらく別の質問にあるはずです)の場合、.javaはファイル形式ではありません。.javaファイルは、実際には単なるプレーンテキストファイルです。ほとんどのプログラミング言語のコードはそのようなものなので、.txtファイルと同等であるため、任意のエディターで読み書きできます。ファイル拡張子は、プレーンテキスト形式であっても、コードが実際にはJavaコードであることをJavaコンパイラに通知するだけです。
ただし、Javaコンパイラは通常、拡張子が.java以外のコードをコンパイルしません。試してみると、エラーが発生しますerror: Class names, 'myFile.blah', are only accepted if annotation processing is explicitly requested
。これにより、とにかくコンパイルする方法があると思います。カスタム注釈プロセッサ?よくわかりません、私はそのようなことをしたことがありません。それでも、コードがJavaコードの場合は、.java拡張子を付けることができます。