MANIFEST.MF を読み込む
マニュフェストファイルの作成ダイアログを開くときに、もしすでに MANIFEST.MF があるのであれば読み込むようにしたいと思います。
こういう処理は JDK だけでできるので楽ですね。次のようなルーチンを作って読み込みを行うようにしました。
private void readManifest() {
File manifest = new File(project.getProject().getLocation().toOSString()
+ "/" + MANIFEST);
if (manifest.exists()) {
BufferedReader reader = null;
try {
reader = new BufferedReader(new FileReader(manifest));
while (true) {
String line = reader.readLine();
if (line == null) {
return;
}
if (line.startsWith(TITLE_ITEM)) {
titleText.setText(line.substring(TITLE_ITEM.length()).trim());
} else if (line.startsWith(MAIN_CLASS_ITEM)) {
mainClassText.setText(line.substring(MAIN_CLASS_ITEM.length()).trim());
} else if (line.startsWith(ICON_FILE_ITEM)) {
iconFilenameText.setText(line.substring(ICON_FILE_ITEM.length()).trim());
} else if (line.startsWith(CONFIG_FILE_ITEM)) {
configFilenameText.setText(line.substring(CONFIG_FILE_ITEM.length()).trim());
}
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (reader != null) {
try {
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}コードの中で出てくる TITLE_ITEM とかは "Implementation-Title:" などの MANIFEST.MF に記述するものを定数化したものです。
ちょっと if 文が長いのでいやなのですが、まぁいいでしょう。