基于URL的网络下载软件

该项目通过创建一个公共类并实现ActionListener接口,构建了一个包含URL输入、文件目录选择和下载按钮的图形界面。当按钮被点击时,程序会检查URL和文件目录是否已填写,然后使用BufferedInputStream和BufferedOutputStream进行快速数据传输,实现文件的下载。在下载完成后,用户会收到‘下载成功!!!’的提示。
摘要由CSDN通过智能技术生成

项目分析

  • 首先创建一个public 类,由于涉及到按钮响应,需要实现ActionListener接口。然后构思图形界面大致的结构,需要URL链接,文件目录,两个按钮:下载和选择文件目录。在构造器中实例化这些组件,添加组件到frame中。设置流式布局,将窗口设置可见。
  • 接下来添加按钮事件响应,两个按钮都要设置监听器,在actionPerformed
    方法中写if逻辑判断是哪个按钮被点击了。处理特殊情况:在没有填写URL或者选择文件目录的情况下,需要用JOptionPane.showMessageDialog提醒用户非法操作。
  • 获取到URL和filename后调用downloadFile方法,打开输入流输出流,这里选择BufferedInputStream和BufferedOutputStream。因为两者传输比较快。然后用byte数组接收数据,写到指定文件夹。传输完毕就会显示“下载成功!!!”。

功能模块实现

main方法:创建个匿名对象,执行构造器里的功能。
在这里插入图片描述
public类UI:
构造器:实例化组件对象,设置组件属性并添加组件到窗口中,调用按钮响应事件
在这里插入图片描述
actionPerformed 方法:处理按钮被点击事件,并给用户反馈响应。即预知用户点击按钮
会发生什么事情。
在这里插入图片描述
downloadFile方法:创建BufferedInputStream和BufferedOutputStream对象,打开url的输入流,读取数据到文件中。
在这里插入图片描述

整合

package UserInterface;
import java.awt.Color;
import java.awt.Frame;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.*;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;

import javax.swing.*;

public class UI implements ActionListener{
   
	JFrame frame;
	JButton button1; //下载按钮
	JButton button2; //保存到文件按钮
	JTextField address;
	JTextField savefile;
	JLabel j1,j2;
	JFileChooser choose;
	String getlabel;
	URL url;
	HttpURLConnection huc;
	public UI() {
   
		//实例化
		frame = new JFrame();
		button1 = new JButton("下载");
		button2 = new JButton("保存到文件");
		address = new JTextField
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值