java 从url下载文件_从Java中的URL下载文件的方法

我想从运行在嵌入式设备上的Web服务器下载二进制文件。该文件可以通过使用 URL:http://10.10.10.10/config.bin ...进行基本http身份验证后手动下载...现在,我想用简单的Java应用程序自动执行此过程。通过使用基本的Java工具,我设法下载文件:从Java中的URL下载文件的方法

URL mlrrl = new URL(url);

HttpURLConnection con = (HttpURLConnection) mlrUrl.openConnection();

con.setRequestMethod("GET");

con.setAllowUserInteraction(false);

con.setDoInput(true);

con.setDoOutput(true);

con.setConnectTimeout(10000);

con.setRequestProperty("Authorization", "Basic " + authStringEnc);

InputStream stream = con.getInputStream();

BufferedInputStream in = new BufferedInputStream(stream);

FileOutputStream file = new FileOutputStream("configDown.bin");

BufferedOutputStream out = new BufferedOutputStream(file);

int i;

while ((i = in.read()) != -1) {

out.write(i);

}

out.flush();

这似乎工作正常!与手动(通过Browser-Webinterface)下载的文件相比,生成的文件具有相同的长度,但在使用十六进制编辑器打开两个二进制文件后,它们是不同的。

我的问题:

任何想法,为什么十六进制代码是不同的? (可能缺少连接属性?)

apache.commons包中有一个copyUrlToFile-Method。作为替代,是否可以使用基本的http认证?

有没有其他的Java库或从urls下载文件的工具?

2013-02-11

Gerd

+1

你有没有检查一个是大的endian和另一个小的endian? –

2013-02-11 15:32:30

+0

从文件的前8个字节似乎是相同的。所以我不认为这是一个endian问题。 –

2013-02-11 15:44:46

+0

只是一个疯狂的想法,尝试使用管道流(这是一个例子:http://www.devx.com/tips/Tip/12982),这将消除整数的读/写。 –

2013-02-11 15:53:05

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值