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 文が長いのでいやなのですが、まぁいいでしょう。