有下面几种方法:
1.通过bundle来访问:
Bundle bundle = Platform.getBundle("de.vogella.example.readfile"); URL fileURL = bundle.getEntry("files/test.txt"); File file = null; try { file = new File(FileLocator.resolve(fileURL).toURI()); } catch (URISyntaxException e1) { e1.printStackTrace(); } catch (IOException e1) { e1.printStackTrace(); }
2.通过 Eclipse 的URL 机制:
URL url; try { url = new URL("platform:/plugin/de.vogella.rcp.plugin.filereader/files/test.txt"); InputStream inputStream = url.openConnection().getInputStream(); BufferedReader in = new BufferedReader(new InputStreamReader(inputStream)); String inputLine; while ((inputLine = in.readLine()) != null) { System.out.println(inputLine); } in.close(); } catch (IOException e) { e.printStackTrace(); }
在第二种方案中,如果需要将URL 转化成File,就需要使用FileLocator.resolve方法来转换:
file = new File(FileLocator.resolve(fileURL).toURI());