Eclipse外掛專案中讀取檔案
阿新 • • 發佈:2019-02-10
在進行外掛開發的時候,有的時候希望把某些配置檔案,或者資料檔案和外掛一起打包,一般這些檔案需要被放在外掛專案目錄下,以便外掛釋出的時候可以和外掛一起打包釋出。
但是由於外掛釋出的時候,一般會打成一個Jar包,雖然可以使用JDK的JarFile這個類讀取Jar包中的某檔案,但是由於開發過程中除錯的時候,並沒有打包,即此時需要讀取的檔案並非在Jar包中,所以需要有一種通用的方法,來獲取專案資料夾下的某個檔案。
下面的語句,可以通過Eclipse裡的OSGi的Bundle類,獲取外掛目錄下的某個檔案的輸入流。
bundle是OSGi的概念,一般情況下,代表一個外掛。通過bundle獲取一個URL,然後通過工具類FileLocator轉換,並且開啟一個輸入流,這樣就可以讀取檔案的內容了。 這種方法的好處,是除錯時和釋出後通用。
Bundle bundle = Platform.getBundle(Activator.PLUGIN_ID);
URL url = bundle.getResource("/icon/text.txt");
InputStream is = FileLocator.toFileURL(url).openStream();
bundle是OSGi的概念,一般情況下,代表一個外掛。通過bundle獲取一個URL,然後通過工具類FileLocator轉換,並且開啟一個輸入流,這樣就可以讀取檔案的內容了。 這種方法的好處,是除錯時和釋出後通用。