Ayuda: Java URL
Buenas, a ver si me podeis echar una mano con esta duda.
Tengo un applet, que en cierto momento lee un archivo .zip que está en su misma URL, después lo descomprime,modifica uno de sus archivos, lo vuelve a comprimir, y después tiene que sobreescribir el zip que tenÃa en la URL, con este nuevo zip modificado.
Lo que no consigo es hacer este último paso, no puedo guaradar el zip en la URL. Lo que estoy haciendo es esto:
Leo el zip asÃ, y lo guardo en una carpeta temporal (esto lo hace bien)(name es el nombre del archivo zip):
File f = File.createTempFile("temporal",".zip");
f.deleteOnExit();
BufferedInputStream in = new BufferedInputStream(new URL(bot.getOsbot().getCodeBase()+ name).openStream());
BufferedOutputStream out = new BufferedOutputStream(new FileOutputStream(f));
byte[] buf = new byte[BUFFER_SIZE];
int len;
while ((len = in.read(buf)) > 0) {
out.write(buf, 0, len);
}
in.close();
out.close();
ZipFile zip = new ZipFile(f);
Después de modificarlo intento escribir en la url, haciendo algo parecido a lo anterior:
(modificado.zip es el archivo que quiero escribir en la url)
URL url = new URL(bot.getOsbot().getCodeBase().toString()+name);
URLConnection connection = url.openConnection();
connection.setDoOutput(true);
OutputStream outStream = connection.getOutputStream();
BufferedOutputStream out2 = new BufferedOutputStream(outStream);
BufferedInputStream in2 = new BufferedInputStream(new FileInputStream("c:\\comprimido.zip"));
byte[] buf2 = new byte[BUFFER_SIZE];
int len2;
while ((len2 = in2.read(buf2)) > 0) {
out2.write(buf2, 0, len2);
}
in2.close();
out2.close();
creo que hasta ahi, lo hace todo bien. Creo que tengo un buffered outputstream, con los datos que quiero escribir, pero no consigo escribirlos. ¿Cómo lo hago? ¿No se puede hacer asà y tengo que usar ftp o algo as�
Muchas gracias
Tengo un applet, que en cierto momento lee un archivo .zip que está en su misma URL, después lo descomprime,modifica uno de sus archivos, lo vuelve a comprimir, y después tiene que sobreescribir el zip que tenÃa en la URL, con este nuevo zip modificado.
Lo que no consigo es hacer este último paso, no puedo guaradar el zip en la URL. Lo que estoy haciendo es esto:
Leo el zip asÃ, y lo guardo en una carpeta temporal (esto lo hace bien)(name es el nombre del archivo zip):
File f = File.createTempFile("temporal",".zip");
f.deleteOnExit();
BufferedInputStream in = new BufferedInputStream(new URL(bot.getOsbot().getCodeBase()+ name).openStream());
BufferedOutputStream out = new BufferedOutputStream(new FileOutputStream(f));
byte[] buf = new byte[BUFFER_SIZE];
int len;
while ((len = in.read(buf)) > 0) {
out.write(buf, 0, len);
}
in.close();
out.close();
ZipFile zip = new ZipFile(f);
Después de modificarlo intento escribir en la url, haciendo algo parecido a lo anterior:
(modificado.zip es el archivo que quiero escribir en la url)
URL url = new URL(bot.getOsbot().getCodeBase().toString()+name);
URLConnection connection = url.openConnection();
connection.setDoOutput(true);
OutputStream outStream = connection.getOutputStream();
BufferedOutputStream out2 = new BufferedOutputStream(outStream);
BufferedInputStream in2 = new BufferedInputStream(new FileInputStream("c:\\comprimido.zip"));
byte[] buf2 = new byte[BUFFER_SIZE];
int len2;
while ((len2 = in2.read(buf2)) > 0) {
out2.write(buf2, 0, len2);
}
in2.close();
out2.close();
creo que hasta ahi, lo hace todo bien. Creo que tengo un buffered outputstream, con los datos que quiero escribir, pero no consigo escribirlos. ¿Cómo lo hago? ¿No se puede hacer asà y tengo que usar ftp o algo as�
Muchas gracias
