Как мне вставить ресурсы в JAR-файл, а затем прочитать их самым простым способом?
Всем привет,
У меня есть вопрос. Я хочу создать JAR-файл с внутренним ресурсом, который является xml-файлом. Затем мне нужно импортировать этот JAR-файл в другой Java-проект и использовать этот файл с другими функциями.
Является ли то, что я пробовал, "неплохим" решением или есть лучшие решения?
Заранее Вам большое спасибо!
Что я уже пробовал:
String fileName = "test.xml"; String fileNameJar = "testjlib.jar"; String testFilePath = System.getProperty("user.dir") + "/lib/" + fileName; JarFile jar = new JarFile(new File("lib/" + fileNameJar)); InputStream inStr = jar.getInputStream(jar.getEntry(fileName)); byte[] buffer = new byte[inStr.available()]; inStr.read(buffer); OutputStream outStream = new FileOutputStream(new File(testFilePath )); outStream.write(buffer); outStream.close();
Richard MacCutchan
Это зависит от того, что еще вам нужно в файле jar. Если все, что вам нужно,-это XML, то вам не нужно, чтобы он был завернут в банку, вы можете использовать его отдельно.
ramondaluca
Спасибо за Ваш быстрый ответ!
Ну, в моем JAR-файле у меня также есть некоторые файлы .class и папка META-INF, которую использует второе JAVA-приложение. Моя цель поместить xml-файл внутрь JAR заключается в том, что таким образом у меня есть все файлы моего пакета внутри JAR вместо того, чтобы иметь файл JAR и вне xml-файла. Но, может быть, стандартная структура, когда вам нужно принести ресурсы в ваш пакет, заключается в том, чтобы поместить их за пределы банки?
Спасибо!
ramondaluca
Спасибо за Ваш быстрый ответ!
Ну, в моем JAR-файле у меня также есть некоторые файлы .class и папка META-INF, которую использует второе JAVA-приложение. Моя цель поместить xml-файл внутрь JAR заключается в том, что таким образом у меня есть все файлы моего пакета внутри JAR вместо того, чтобы иметь файл JAR и вне xml-файла. Но, может быть, стандартная структура, когда вам нужно принести ресурсы в ваш пакет, заключается в том, чтобы поместить их за пределы банки?
Спасибо!