char 16 bit(Unicodeを値としてとる) byte 8 bit short 16 bit int 32 bit long 64 bit
| -c | アーカイブを新規作成する |
| -t | アーカイブの内容を一覧表示する |
| -x | 指定の (またはすべての) ファイルをアーカイブから抽出する |
| -u | 既存アーカイブを更新する |
| -v | 標準出力に詳細な出力を生成する |
| -f | アーカイブファイル名を指定する |
| -m | 指定のマニフェストファイルからマニフェスト情報を取り込む |
| -0 | 格納のみ。ZIP 圧縮を使用しない |
| -M | エントリのマニフェストファイルを作成しない |
| -i | 指定の jar ファイルのインデックス情報を生成しない |
| -C | 指定のディレクトリに変更し、以下のファイルを取り込む |
javaの魅力と言えばオブジェクト指向とネットワーク。javaでネットワークプログラムを書いてみよう。 というわけで、ここではHTTP接続の流れについて説明する。大まかなながれは以下のようになる。
- URLオブジェクトを生成。URL指定
- URLから指定したURLへの接続オブジェクトを取得
- リクエストメソッドを設定(defaultでGET)
- 接続(connect())
- 接続オブジェクトからストリームを取得
- 読み書き
- クローズ
サンプルプログラム(Client.java)
HTTPによる通信のサンプルプログラム(Http.java)おんなじの二回かいとるし。
ファイルへの書き出しはFileOutputStreamを使う。バイト配列をwriteメソッドで書き出す。 PrintStreamでラップすることにより、System.outのようにStringを書き出すことが出来る。サンプルプログラム(IO.java)
重宝する行読み込みテスト FilePathTest.java
実は違うものをテストしていたのだが。
メソッド、フィールドをオブジェクト化して動的に扱う事ができる。あるクラスの、 あるメソッドをオブジェクト化して、メソッドの引数に渡したり、配列に入れたり etc ..
例
reflection.tar.gz
Methodオブジェクトは invoke で起動
Class.forName でクラス名からクラスオブジェクトをとってくる。
サンプル inherit.jar> jar cvmf MANIFEST.MF inherit.jar inherit/*.class マニフェストが追加されました。 inherit/Child.class を追加中です。(入 = 253) (出 = 207)(18% 収縮されました) inherit/M.class を追加中です。(入 = 721) (出 = 441)(38% 収縮されました) inherit/Parent.class を追加中です。(入 = 353) (出 = 249)(29% 収縮されました) > java -jar inherit.jar Parent: Parent Child : Childマニフェストファイルでメインクラスを指定しているので、メインクラスは指定しなくても 実行できる。Main-Class: inherit.M とマニフェストに書く。改行を忘れずに入れよう!!
メインクラスを指定しない場合は以下のようにjarファイルの作成、実行をする。> jar cvMf inherit.jar inherit/*.class > java -cp inherit.jar inherit.M Parent: Parent Child : Child
arenn's Software Download (GNU getopt - Java port)
例
GetoptTest.java
namazuでAPIサーチ
マニュアルのnamazu indexを作成するときにお勧めなオプション
> mknmz --exclude='.*use-.*' --exclude='.*index.*' apiサンプルコードをnamazuでサーチ
サンプルコードからはじめたいときは多々ある。
> mknmz --allow='.*(html|java)$' /usr/java/j2sdk1.4.1_01/demo/
java は明示的に入れてあげないとインデックス作成の対象にならない。javadoc
起動例
javadoc -locale en -private -d doc -sourcepath . -subpackages com
-locale オプションはオプションの中で最も左でなければならないらしい。
com 以下のソースに対して javadoc を生成する。
private proctected メンバを含んだjavadocを生成する。(内部を知りたいときにでも)Thread.dumpStack
どこから呼び出されたかをデバッグように表示するのに使う。
Thread.currentThread().dummpStack();
そう、現在のスレッドを得るのって Thread.currentThread()
//A has a field name i
class A {
public:
int i = 1;
A () { }
};
//B has fields named i and j
class B {
int j = 1;
B () { }
};
void f() {
B b();
A a = b;
//NG
cout << a.j << endl;
}
|
Drawing Graphs with VGJ
ノードのグループ化が可能
対話的にグラフを生成出来る
JTree で遊ぶには How to Use Trees が参考になる
The Swing Connection: Creating TreeTables: Part 2
EPP: Extensible Java Preprocessor Kit
Emacs の jdeモードで \C-c\C-v. で型を意識した補間がきく!! (jde-complete-at-point-menu)Zaurus(SL-C3100)でJava
PJEE シミュレータ
compatibility classes
Java Programming on the Sharp Zaurus