Senti io non sono un grande esperto quindi ti posto il codice che ho usato io cosi vedi se ti viene qualche idea....
Tieni presente che da quanto ho capito il tuo obiettivo è diverso dal mio, io dovevo prendere un file di testo in remoto e copiarmelo in locale...
Spero ti sia utilie... CIAO
P.S. la riga con i punti di domanda nel commento non so a cosa serva e non ricordo perchè c'è.... forse l'ho trovato su internet non so....
codice:URL var=null; FileReader fr = null; PrintWriter out=null; HttpURLConnection connection=null; InputStream in=null; try { var = new URL(myURL + nomeFile); } catch (MalformedURLException ex) { ex.printStackTrace(); } try { connection = (HttpURLConnection) var.openConnection(); } catch (IOException ex) { ex.printStackTrace(); } connection.setRequestProperty("Range", "bytes=0-"); // ?? try { // mi connetto al server connection.connect(); } catch (IOException ex) { ex.printStackTrace(); } try { in = connection.getInputStream(); } catch (IOException ex) { ex.printStackTrace(); } //Creo la cartella conf che deve contenere i file. dir = cm.internalCodebase + "/conf"; //Creo la cartella conf che deve contenere i file. new File(dir).mkdirs(); File fOut = new File(cm.internalCodebase+"/conf/"+fileDiConfig[i]); RandomAccessFile file = null; try { file = new RandomAccessFile(fOut, "rw"); } catch (FileNotFoundException ex) { ex.printStackTrace(); } try { file.seek(0); } catch (IOException ex) { ex.printStackTrace(); } byte[] buffer = new byte[1024]; while (true) { int read=0; try { read = in.read(buffer); } catch (IOException ex) { ex.printStackTrace(); } // "read" contiene il numero di byte letti di volta in volta: quando // vale -1 non ho piu' nulla da scaricare: ho finito il download if (read == -1) { break; } try { // scrivo il buffer nel file file.write(buffer, 0, read); } catch (IOException ex) { ex.printStackTrace(); } } connection.disconnect();


Rispondi quotando