JAVA下载器

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下载器

时间: 2024-10-05 16:39:30

JAVA下载器的相关文章

Java实现的一个简单的下载器

package com.shawearn.download;import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.DataInputStream;import java.io.DataOutputStream;import java.io.EOFException;import java.io.File;http://www.huiyi8.com/jiaoben/import j

CSDN博文下载器(JAVA)

自己用JAVA做的CSDN博文下载器,提供jar包和源码. 源码也公开吧,反正jar反编译也能得到源码,新手不会jar加密. 资源csdn在审核吧...好慢 考虑到上课的时候看博客不方便,想把好的博客全部下载下来,在手机上看. 各种百度,找到了几个工具. 1.http://blog.csdn.net/gzshun/article/details/7555525 大神写了思路和教程,用他的工具发现的问题: (1)下载不完全,测试只能下载第一页的21篇文章左右. (2)生成的pdf看着还行,代码部分

Java多线程下载器FileDownloader(支持断点续传、代理等功能)

前言 在我的任务清单中,很早就有了一个文件下载器,但一直忙着没空去写.最近刚好放假,便抽了些时间完成了下文中的这个下载器. 介绍 同样的,还是先上效果图吧. Jar包地址位于 FileDownloader 目前实现的主要功能有: 多线程下载 断点续传 自定义头部等 即将完成的包括: 添加代理功能 ... 感觉做了回标题党,代理功能由于时间关系,将在下次更新加入. 关于设置代理,我这篇文章 Java实现Ip代理池 中有具体的设置方法. 另外除了这个代理功能,我也实在不知道下载器能加些啥功能了..

深入探讨 Java 类加载器

转自:http://www.ibm.com/developerworks/cn/java/j-lo-classloader/ 类加载器(class loader)是 Java™中的一个很重要的概念.类加载器负责加载 Java 类的字节代码到 Java 虚拟机中.本文首先详细介绍了 Java 类加载器的基本概念,包括代理模式.加载类的具体过程和线程上下文类加载器等,接着介绍如何开发自己的类加载器,最后介绍了类加载器在 Web 容器和 OSGi™中的应用. 类加载器是 Java 语言的一个创新,也是

java类加载器——ClassLoader

Java的设计初衷是主要面向嵌入式领域,对于自定义的一些类,考虑使用依需求加载原则,即在程序使用到时才加载类,节省内存消耗,这时即可通过类加载器来动态加载. 如果你平时只是做web开发,那应该很少会跟类加载器打交道,但如果你想深入学习tomcat服务器的架构,它是必不可少的.所谓类加载器,就是用于加载Java类到Java虚拟机中,它负责读取Java字节码,并转换成java.lang.Class类的一个实例,使字节代码.class文件得以运行.一般类加载器负责根据一个指定的类找到对应的字节代码,然

多线程下载器(不含数据库部分)

多线程下载器(不含数据库部分) 1.写在前面: 虽然demo中程序框架已搭建完成,但是由于笔者时间原因,暂时只完成了核心部分:多线程下载的部分,其他数据库.服务通知.暂停部分还未添加到项目中. 2.相关知识点: (1)Java线程及停止线程的方式 (2)Java RandomAccessFile文件操作 (3)HttpURLConnection相关range字段的配置 (4)Sqlite同步操作 2.核心思想: (1)通过HttpURLConnection判断服务器是否支持断电续传: <1>否

Java类加载器器

Java类加载器(Class loader)是一个很重要的概念,一直想写一篇关于这个的博客,今天看了不少别人的博客,也来写一下,希望能写的明白. 首先明白类加载器的概念: 顾名思义,类加载器(class loader)用来加载 Java 类到 Java 虚拟机中.一般来说,Java 虚拟机使用 Java 类的方式如下:Java 源程序(.java 文件)在经过 Java 编译器编译之后就被转换成 Java 字节代码(.class 文件).类加载器负责读取 Java 字节代码,并转换成java.l

深入探讨 Java 类加载器[转]

原文地址:http://www.ibm.com/developerworks/cn/java/j-lo-classloader/index.html 类加载器(class loader)是 Java™中的一个很重要的概念.类加载器负责加载 Java 类的字节代码到 Java 虚拟机中.本文首先详细介绍了 Java 类加载器的基本概念,包括代理模式.加载类的具体过程和线程上下文类加载器等,接着介绍如何开发自己的类加载器,最后介绍了类加载器在 Web 容器和 OSGi™中的应用. 类加载器是 Jav

百度网盘下载神器度盘下载器

最近比较忙,主要在做一个接入支付宝健康果的一个项目,也没有更新文章,今天主要介绍一个度盘下载器 ,主要是用来加速百度网盘的下载 前段时间买了慕课网的java企业级电商项目架构演进之路Tomcat集群和Redis分布式Java秒杀系统方案优化 高性能高并发实战搜房网三个套视频教程,如果是百度云盘的客户端下载到本地就很慢了,大概就100KB吧,于是网上去找解决方法最开始找到的方式是chrome百度云盘插件,测试过可以使用,主要是要提取资源的aria2链接,现在网上的插件都会有点问题,要设置一下,把打