-1
Вот мой код, я ищу способ добавить файлы в запущенную банку. Заранее спасибо. Ошибка, которая возникает в настоящее время, - это «недопустимый размер записи (ожидается 62, но получен 0 байтов). 62 байта - это размер моего файла MANIFEST, который записывается. Я не уверен, что это имеет ничего общего.Как добавить файлы в jar
JarFile replace = new JarFile("newgame.jar");
JarInputStream jis = null;
JarOutputStream jos = new JarOutputStream(new FileOutputStream(
Launcher.class.getProtectionDomain().getCodeSource().getLocation().getPath()));
for (Enumeration<JarEntry> list = replace.entries(); list.hasMoreElements();) {
JarEntry nextEntry = list.nextElement();
if (!nextEntry.getName().equals("Launcher.class")) {
jos.putNextEntry(nextEntry);
jis = new JarInputStream(replace.getInputStream(nextEntry));
ByteArrayOutputStream out = new ByteArrayOutputStream();
byte[] byteBuff = new byte[1024];
int bytesRead = 0;
while ((bytesRead = jis.read(byteBuff)) != -1)
out.write(byteBuff, 0, bytesRead);
jos.write(out.toByteArray());
out.close();
jis.close();
}
}
replace.close();
jos.close();
new File("newgame.jar").delete();
Почему вы хотите, чтобы это сделать это, вероятно, [XY Проблема] (Http:.? // xyproblem. info) .Какой оператор в вашем коде сообщает вам об ошибке? –
@JimGarrison the jos.pu tNextEntry (nextEntry); дает мне ошибку. – Toxxic