Previous | Next | Trail Map | Integrating Native Methods into Java Programs | ネイティブメソッドを実装する


文字置換プログラム

ここの例では簡単な文字置換プログラムを実装する。 プログラムの起動時に はコマンド行に以下の引数を付ける。

char1 char2 inputfile outputfile

Replace プログラムは inputfile を読み取り、出現したchar1 をすべて char2 で置換し、その結果をoutputfile に書き込む。

ソースファイル

Replace.java
メインプログラムがはいっている。
File.java
File クラスを定義する。 このクラスは、サブクラスが提示しようとするファ イルセマンティックスに応じて実際のファイル管理コードを実現するという想定に基づき、基本的なファイル操作およびパス操作を提供する。InputFile と OutputFile はどちらも File から得られる。
InputFile.java
読み取り専用入力ファイルを実装する InputFile クラス (File のサブクラス) がはいっている。このクラスは 3 つのネイティブメソッドを宣言している。これらのメソッドは C プログラミング言語で実装され、InputFileImpl.c に納められている。
OutputFile.java
書き込み専用出力ファイルを実装する OutputFile クラス (File のサブクラス) がはいっている。このクラスは 3 つのネイティブメソッドを宣言している。これらのメソッドは C プログラミング言語で実装され、OutputFileImpl.c に納められて いる。

javah が生成するファイル

File.h
InputFile.h
OutputFile.h
javah によって生成される C 言語ヘッダーファイル。
File.c
InputFile.c
OutputFile.c
javah -stubs によって生成される C 言語のスタブファイル。

手順

  1. Java コンパイラを使用し、.java ファイルを .class ファイルにコンパイルする。
  2. すべての C 言語コードを "file" という名前の動的にロード可能なライブラリにコ ンパイルする。この方法がわからないときは、ステップバイステップ レッスンのステップ 6: 動的にロード可能なライブラリ を作成するの手順を参照する。
  3. Java インタープリタを使用し、プログラムを実行する。


Previous | Next | Trail Map | Integrating Native Methods into Java Programs | 目次