通过使用java代码传递URL下载文件[重复]
Posted
技术标签:
【中文标题】通过使用java代码传递URL下载文件[重复]【英文标题】:Download file by passing URL using java code [duplicate] 【发布时间】:2011-01-19 02:56:36 【问题描述】:我正在尝试用 java 编写代码,其中用户提供 url 链接,程序获取 url 链接并按原样下载网页并保存在特定位置..与另存为...选项可用网页。
谁能帮帮我
提前致谢
【问题讨论】:
你能说一下你到目前为止做了什么吗?你在什么时候卡住了? 【参考方案1】:// 示例网址:http://www.novell.com/coolsolutions/tools/downloads/ntradping.zip
import java.io.*;
import java.net.*;
public class UrlDownload
final static int size = 1024;
public static void fileUrl(String fAddress, String localFileName, String destinationDir)
OutputStream outStream = null;
URLConnection uCon = null;
InputStream is = null;
try
URL url;
byte[] buf;
int byteRead, byteWritten = 0;
url = new URL(fAddress);
outStream = new BufferedOutputStream(new FileOutputStream(destinationDir + "\\" + localFileName));
uCon = url.openConnection();
is = uCon.getInputStream();
buf = new byte[size];
while ((byteRead = is.read(buf)) != -1)
outStream.write(buf, 0, byteRead);
byteWritten += byteRead;
System.out.println("Downloaded Successfully.");
System.out.println("File name:\"" + localFileName + "\"\nNo ofbytes :" + byteWritten);
catch (Exception e)
e.printStackTrace();
finally
try
is.close();
outStream.close();
catch (IOException e)
e.printStackTrace();
public static void fileDownload(String fAddress, String destinationDir)
int slashIndex = fAddress.lastIndexOf('/');
int periodIndex = fAddress.lastIndexOf('.');
String fileName = fAddress.substring(slashIndex + 1);
if (periodIndex >= 1 && slashIndex >= 0 && slashIndex < fAddress.length() - 1)
fileUrl(fAddress, fileName, destinationDir);
else
System.err.println("path or file name.");
public static void main(String[] args)
if (args.length == 2)
for (int i = 1; i < args.length; i++)
fileDownload(args[i], args[0]);
else
它正在充分发挥作用。
【讨论】:
请检查您的代码,也许fileDownload(args[i], args[0]);
语句中的参数应该交换。【参考方案2】:
看看htmlParser。它有一些功能可以帮助您从网页中提取资源。
【讨论】:
【参考方案3】:您可以使用 Java URL API 获取 URL 上的输入流,然后从中读取并通过输出流写入文件。
见read data from url、Write to file
【讨论】:
以上是关于通过使用java代码传递URL下载文件[重复]的主要内容,如果未能解决你的问题,请参考以下文章
使用java编写一个多线程下载器,需要在URL栏中输入网址,然后通过网址下载。该怎么实现,求源代码