以下代码将远程文件复制到局域网内的机器上,url可为广域网的任一文件,targetFile为局域网内的文件
public void CopyFile(String url, SmbFile targetFile) throws IOException {
java.net.URL urlfile = null;
HttpURLConnection httpUrl = null;
InputStream in = null;
SmbFileOutputStream out = null;
try {
urlfile = new java.net.URL(url);
httpUrl = (HttpURLConnection) urlfile.openConnection();
httpUrl.connect();
in = httpUrl.getInputStream();
if(!targetFile.exists())
targetFile.createNewFile();
out = new SmbFileOutputStream(targetFile);
// 缓冲数组
byte[] b = new byte[1024 * 5];
int len;
while ((len = in.read(b)) != -1) {
out.write(b, 0, len);
}
// 刷新此缓冲的输出流
out.flush();
}catch(Exception e){
LogUtils.error("复制瓦片失败!", logger, e);
}
finally {
// 关闭流
if (in != null)
in.close();
if (out != null)
out.close();
}
}