我有一个软件,可以在JavaScript文件(.js)中编写插件,从而使用Java函数(我不知道这是否常见,我以前从未在JavaScript文件中看到过Java调用)。
我需要从Web服务器下载二进制文件并将其写入硬盘。我尝试了以下代码:
我需要从Web服务器下载二进制文件并将其写入硬盘。我尝试了以下代码:
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();
生成的文件不再是一个有效的gzip档案。如果我犯了什么错误,很抱歉,但我不是程序员,也不太了解Java。