Possiedo un software che consente di scrivere componenti aggiuntivi in file javascript (con estensione js) che consentono di utilizzare la funzione Java (non so se questo è comune, non ho mai visto java call in javascript file before)Scrivi un file binario scaricato su disco in Java
Ho bisogno di scaricare un file binario da un server web e scriverlo sul disco rigido. Ho provato il seguente codice:
baseencoder = new org.apache.commons.codec.binary.Base64();
url = new java.net.URL("https://server/file.tgz");
urlConnect = url.openConnection();
urlConnect.setDoInput(true);
urlConnect.setDoOutput(true);
urlConnect.setRequestProperty("authorization","Basic "+ java.lang.String(baseencoder.encodeBase64(java.lang.String(username + ":" + password).getBytes())));
urlConnect.setRequestProperty("content-type","application/x-www-form-urlencoded");
is = new java.io.DataInputStream(urlConnect.getInputStream());
fstream = new FileWriter("C:\\tmp\\test.tgz");
out = new BufferedWriter(fstream);
while((data = is.read()) != -1){
out.write(data);
}
out.close();
is.close();
Il file risultante non è più un archivio gzip valido. Mi dispiace se ho fatto un errore enorme ma non sono un programmatore e non conosco troppo Java.
Inoltre, ti consigliamo di utilizzare la condizione di test corretta nel tuo ciclo while: while ((data = ** is **. Read())! = Null) {...}. –
Funziona grazie a un lavoro FileOutputStream (utilizzo ancora solo una semplice read() perché sembra che non sia possibile utilizzare un buffer di byte in javascript perché non è un oggetto – radius