码迷,mamicode.com
首页 > 编程语言 > 详细

JAVA下载器

时间:2014-08-19 18:53:15      阅读:243      评论:0      收藏:0      [点我收藏+]

标签:blog   java   os   io   for   ar   art   cti   

package com.longneo.downloader;

import java.awt.*;
import java.awt.event.*;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.net.URL;
import java.net.URLConnection;

import javax.swing.*;

public class Downloader {
	
	private Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
	
	private final JFrame fm = new JFrame();
	private final JPanel panel = new JPanel();
    private final JLabel label1 = new JLabel("网络资源的下载 ");
    private final JLabel label2 = new JLabel("网络资源地址:");
    private final Al al = new Al();
    
    JButton StartButton = new JButton("开始下载");
    JButton resetButton = new JButton("清空");
    JButton exitButton = new JButton("退出");
    JTextField urlField = new JTextField(20);

	public void init(){
		panel.setLayout(new FlowLayout());
        label1.setFont(new Font("雅黑", Font.BOLD, 15));
        panel.add(label1);
        panel.add(label2);
        panel.add(urlField);
        panel.add(StartButton);
        panel.add(resetButton);
        panel.add(exitButton);
        
        fm.setContentPane(panel);
        
        StartButton.addActionListener(al);
        resetButton.addActionListener(al);
        exitButton.addActionListener(al);
        
        fm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        fm.setSize(400, 200);
        fm.setResizable(true);
        fm.setLocation((screenSize.width-fm.getWidth())/2,(screenSize.height-fm.getHeight())/2);
        fm.setVisible(true);
	}
	
	public class Al implements ActionListener{
		
		@Override
	    public void actionPerformed(ActionEvent e){
	        if(e.getSource() == StartButton){
	            if("".equals(urlField.getText())){
	                JOptionPane.showMessageDialog(fm, "请输入资源地址");
	                return;
	            }
	            String url = urlField.getText();
	            try{
	                download(url);
	            }catch(Exception e1){
	                JOptionPane.showMessageDialog(fm, "地址有误,请检查,谢谢!");
	                e1.printStackTrace();
	            }
	        }else if(e.getSource() == resetButton){
	            urlField.setText("");
	        }else{
	            System.exit(0);
	        }
	    }
	}
	
	public void download(String address) throws Exception{
        URL url = new URL(address);
        URLConnection urlcon = url.openConnection();
        urlcon.connect();
        InputStream in = urlcon.getInputStream();
        String filePath = url.getFile();
        int pos = filePath.lastIndexOf("/");
        String fileName = filePath.substring(pos + 1);
        FileOutputStream out = new FileOutputStream("F:\\" + fileName);
        byte[] bytes = new byte[1024];
        int len = in.read();
        while(len != -1){
            out.write(bytes, 0, len);
            len = in.read();
        }
        out.close();
        in.close();
        JOptionPane.showMessageDialog(fm, "下载完毕");
    }
	
}

  

JAVA下载器,布布扣,bubuko.com

JAVA下载器

标签:blog   java   os   io   for   ar   art   cti   

原文地址:http://www.cnblogs.com/longneo/p/3922721.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!