У меня есть a jar, который находится в папке /libs
в моем проекте андроида. В банке есть xml-файлы.чтение файла с .apk
Что я хочу сделать, так это прочитать файл xml
из банку в моем приложении для Android.
Я попытался использовать метод ниже:
private String loadFromJar(String p_strFileName) {
try {
String strPath = p_strFileName;
InputStream stream = this.class.getResourceAsStream(strPath);
if (stream == null) {
System.err.println(" stream is null for " + strPath);
} else {
int av = (stream.available()/200) + 1;
int i = 0;
StringBuilder sb = new StringBuilder();
while (i <= av) {
try {
byte[] a = new byte[200];
stream.read(a);
sb.append(new String(a, "UTF-8"));
i++;
} catch (Exception e) {
break;
}
}
return sb.toString();
}
} catch (Exception e) {
Log.e(LOG_TAG, "jarfile is null for " + p_strFileName);
}
return "";
}
Однако, это не работает.
Я также попытался сделать то же самое в приложении java swing И это работает.
Я думаю APK поведение файла отличается от файла JAR
Я знаю, что я могу прочитать файл из папки Реза или в папке с активами. Однако это не решение для моего дела. Потому что банка является платформо-независимой библиотекой. И я хочу использовать библиотеку для получения файлов так же, как и на других платформах, таких как настольные платформы.
Почему бы вам не использовать активы !? просто поместите ваш xml в активы –
Так как у моей библиотеки уже есть файлы. Почему я должен помещать их вручную в приложение для Android? – ziLk