如果是你自己用 Java 写了一个浏览器,则在接收到下载流时,用 FileOutputStream fos = new FileOutputStream("d:\\java-browser\\downloads")即可。
举例代码:
/*** 下载文件。
* @param urlStr 文件的URL
* @param savePath 保存到的目录
* @param fileName 保存的文件名称
* @param description 描述(如:歌曲,专辑封面,歌词等)
* @throws IOException
*/
public static void downLoad(String urlStr, String savePath, String fileName, String description) throws IOException
{
URL url = new URL(urlStr)
HttpURLConnection conn = (HttpURLConnection) url.openConnection()
conn.setConnectTimeout(100000) // 设置超时间为10秒
conn.setRequestProperty("User-Agent", "Mozilla/4.0 (compatible MSIE 5.0 Windows NT DigExt)") // 防止屏蔽程序抓取而返回403错误
File saveDir = new File(savePath)
File file = new File(saveDir + File.separator + fileName)
try (InputStream inputStream = conn.getInputStream()
FileOutputStream fos = new FileOutputStream(file))
{
byte[] flowData = readInputStream(inputStream)
fos.write(flowData)
} catch (Exception e) {
MainFrame.logEvent("字节保存时出现意外:" + e.getMessage())
}
MainFrame.logEvent(description + "下载完成:" + url)
}
MainFrame.logEvent()是我自己弄的日志记录而已,可以忽略不看
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)