在RCP编程时,有时需要读取一些文件,这些文件一般存放在项目的目录下,可由于RCP程序运行是基于Eclipse插件形式的,所以使用SWT中的相对路径读取方法是取不到项目的相对路径的,他取到的是Eclipse runtime的路径,我写了一个方法,可以取到插件的绝对路径,方法如下:
/**
* 得到插件的绝对路径
* @return 路径
*/
public static String getPath(){
String path;
try {
path= Platform.asLocalURL(Platform.getBundle(plugInId).getEntry("")).getPath();
path=path.substring(path.indexOf("/")+1,path.length());
} catch (IOException e) {
path="";
e.printStackTrace();
}
return path;
}
在程序中使用时,例如你的文件位于项目的123目录下,可以使用
getPath()+"123/" + fileName得到该文件。
我用的开发版本是Eclipse3.1.1
/**
* 得到插件的绝对路径
* @return 路径
*/
public static String getPath(){
String path;
try {
path= Platform.asLocalURL(Platform.getBundle(plugInId).getEntry("")).getPath();
path=path.substring(path.indexOf("/")+1,path.length());
} catch (IOException e) {
path="";
e.printStackTrace();
}
return path;
}
在程序中使用时,例如你的文件位于项目的123目录下,可以使用
getPath()+"123/" + fileName得到该文件。
我用的开发版本是Eclipse3.1.1