複数のjavaファイルを同時にコンパイルしたい場合は、javacコマンドの引数に複数のjavaファイル名を書いていくだけですが、数が多くなると面倒です。
よって、以下の通り、findコマンドとの組み合わせ技で解決します。
javac $(find <ここにトップディレクトリ名を書く> -name "*.java")
情報工学技術を利用した教育支援、いわゆる教育工学の研究やってます。研究に関係する技術動向(プログラミングねた)や、日常の覚書き、呟きなどを書いていこうかと思います。今のところ、初歩的なプログラムネタばっかりですが、、、、長い目でお付き合いください。
複数のjavaファイルを同時にコンパイルしたい場合は、javacコマンドの引数に複数のjavaファイル名を書いていくだけですが、数が多くなると面倒です。
よって、以下の通り、findコマンドとの組み合わせ技で解決します。
DocumentBuilderFactory domFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder db= domFactory.newDocumentBuilder();
//ファイルから読み込む場合
Document doc = db.parse("C:\\temp\\TestSample.xml");
//Streamから読み込む場合
Document doc = db.parse(is); //isはInputStreamの変数
//String変数から読み込む場合
Document doc = db.parse(new InputSource(new StringReader(xml))); //xmlはString変数
interface Callback {
void onSuccess();
void onFailure()
}
つづいて、このインタフェースを実装するクラスを作成します。必ずCallbackインタフェースで定義されているメソッドを定義しなければなりません。class TestImpl implements Callback{
void onSuccess(){
//ここに何かかく
}
void onFailure(){
//ここに何かかく
}
}
そして、実際に利用するときには、下記のように書くことになります。Callback test = new TestImpl();//あるいは右のような書き方でもよい TestImpl test = new TestImpl(); test.onSuccess();上記のクラスを宣言する手間を省けるのが無名クラスです。以下のように省略することができます。
Callback test = new Callback{
void onSuccess(){
//ここに何かかく
}
void onFailure(){
//ここに何かかく
}
}
何が省略されているかわかりますか?インタフェースクラスは、直接newすることはできませんが、このようにnewしながら中身を定義することで、newされるものは Callbackインタフェースを実装した何か?(つまり無名のクラス)になります。だから、インタフェースで受け取ることができます。