2011年7月25日月曜日

Eclipseのplugin開発時にファイルを読み込むには

テンプレートからの置換とかしたいのであれば、pluginプロジェクト内に
格納している設定ファイルなんかの情報を読み込みたかったりするはず。
そのときには下記の様にかけば開発できる。Eclipse3.6上での話。
最近出た3.7とかでは未検証だし、その他のバージョンでも試して無いので
そこら辺はあしからず。

ソースコード

Bundle bundle= Platform.getBundle("pluginID");
 URL url1 = bundle.getEntry("template/sample.txt"); //ここでEclipse上で解決できるPATH
 URL url2 = FileLocator.toFileURL(url1); //ここで、絶対的なファイルパスになる。
 FileReader reader = new FileReader(url2.getPath());
 BufferedReader br = new BufferedReader(reader);
 String line = br.readLine();
 while(line != null){
   //何か処理。
 }

ファイルの構成

/  --> プロジェクトRoot: 作ったプロジェクト名。
     |__bin
     |__icons
     |__template
          |__ sample.txt //今回はこのファイルにアクセスしたかった。
     |__src
     |__plugin.xml
     |__build.properties 

export時には

必ず、template/もいれないとjarの中に入らない(これは当たり前か。。。)
いやぁ、嵌った。嵌った。。。
同じ事で嵌らなくても良いように備忘の為に書いときます。