Java - Ayuda, java URL

   
Vista:

Ayuda, java URL

Publicado por Eduardo Rodriguez (1 intervención) el 26/10/2007 08:58:58
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
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder