原本 ResourceBundle 是依照 package name 來做相對路徑的
不過在我們的專案中,因為 NAND 容量不夠,必須把資源檔放在別的地方
所以只能以絕對路徑去指定它的位置。
參考資料:Using absolute path bundle file
String resourcePath = "/home/username/"; String resourceFileName = "language"; Locale currentLocale = Locale.getDefault(); File resourceFile = new File(resourcePath); URL resourceUrl = resourceFile .toURI().toURL(); URL[] urls = {resourceUrl }; ClassLoader loader = new URLClassLoader(urls); ResourceBundle bundle = ResourceBundle.getBundle(resourceFileName, currentLocale, loader);
以上面的例子,ResourceBundle 就會去抓 /home/username/language.properties 跟它的其他語系檔了
例如如果是英語就會抓 /home/username/language_en_US.properties。
沒有留言:
張貼留言