Java使用组件编写窗口实现网上文件下载

 更新时间:2017年02月27日 11:52:44   作者:rain_web  
这篇文章主要为大家详细介绍了Java使用组件编写窗口实现网上文件下载的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了Java使用组件编写窗口下载网上文件的具体代码,供大家参考,具体内容如下

如图

实现代码:

package com.rain.get;
import java.awt.*;
import java.awt.event.*;
import java.net.*;
import java.io.*;
import javax.swing.*;
//从网络取得文件
public class GetFileDemo extends JFrame{
  JTextField jtfUrl; //输入文件地址url
  JButton jbGetFile; //取文件按钮
  JLabel jlInfo; //显示提示信息
  public GetFileDemo(){
    super("从网络取得文件"); //调用父类构造函数
    Container container=getContentPane();  //得到容器
    jtfUrl=new JTextField(18); //实例化地址输入框
    jbGetFile=new JButton("取文件"); //实例化按钮
    jlInfo=new JLabel(); 
    JPanel p=new JPanel(); //实例化一个面板,用于容纳地址输入框和取文件按钮
    p.add(jtfUrl); //增加组件到面板上
    p.add(jbGetFile);
    container.add(p,BorderLayout.NORTH); //增加组件到容器上
    container.add(jlInfo,BorderLayout.CENTER);
    jbGetFile.addActionListener(new ActionListener(){ //按钮事件处理
      public void actionPerformed(ActionEvent ent){
        try{
          jlInfo.setText("正在读取");
          URL url=new URL(jtfUrl.getText());  //得到文件的URL地址
          InputStream in=url.openStream(); //得到文件输入流
          String outFilename=JOptionPane.showInputDialog(GetFileDemo.this,"输入保存文件名 "); //输入保存的文件名
          FileOutputStream out=new FileOutputStream(outFilename); //得到文件输出流
          byte[] buffer=new byte[1024]; //缓冲区大小
          int length;
          while ((length=in.read(buffer))!=-1){ //读取数据
            out.write(buffer,0,length); //写入数据到文件
          } 
          out.close(); //关闭文件输出流
          in.close(); //关闭输入流       
          jlInfo.setText("读取文件成功"); //显示提示信息
        }
        catch(Exception ex){
          ex.printStackTrace(); //输出出错信息
          jlInfo.setText("读取文件失败");
        }
      }
    });
    setSize(320,100); //设置窗口尺寸
    setVisible(true); //设置窗口可视
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //关闭窗口时退出程序
  }
  public static void main(String[] args){
    new GetFileDemo();
  }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • 微服务Redis-Session共享登录状态的过程详解

    微服务Redis-Session共享登录状态的过程详解

    这篇文章主要介绍了微服务Redis-Session共享登录状态,本文采取Spring security做登录校验,用redis做session共享,实现单服务登录可靠性,微服务之间调用的可靠性与通用性,需要的朋友可以参考下
    2023-12-12
  • JAVA遍历一个文件夹中的所有文件的小例子

    JAVA遍历一个文件夹中的所有文件的小例子

    在实际项目中给定一文件夹,得到这个文件夹下所有的文件这样的需求并不是很多,更多的是查找或是删除某一具体的文件
    2013-10-10
  • gRPC中interceptor拦截器的使用教程

    gRPC中interceptor拦截器的使用教程

    gRPC中的interceptor拦截器分为客户端拦截器和服务端拦截器,分别是在客户端和服务端的请求被发送出去之前进行处理的逻辑,下面就跟随小编一起学习一下interceptor拦截器的具体使用吧
    2023-08-08
  • java.lang.NullPointerException异常问题解决方案

    java.lang.NullPointerException异常问题解决方案

    这篇文章主要介绍了java.lang.NullPointerException异常问题解决方案,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-08-08
  • SpringBoot统计、监控SQL运行情况的方法详解

    SpringBoot统计、监控SQL运行情况的方法详解

    这篇文章主要给大家介绍了关于SpringBoot统计、监控SQL运行情况的相关资料,文中通过实例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2022-02-02
  • idea项目实现移除和添加git

    idea项目实现移除和添加git

    本文指导读者如何从官网下载并安装Git,以及在IDEA中配置Git的详细步骤,首先,用户需访问Git官方网站下载适合自己操作系统的Git版本并完成安装,接着,在IDEA中通过设置找到git.exe文件以配置Gi
    2024-10-10
  • springboot整合shardingsphere和seata实现分布式事务的实践

    springboot整合shardingsphere和seata实现分布式事务的实践

    本文主要介绍了springboot整合shardingsphere和seata实现分布式事务的实践,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-07-07
  • Java如何替换字符

    Java如何替换字符

    文章介绍了Java中String类的replace()方法及其变体replaceFirst()的使用,包括如何替换单个字符、第一次出现的字符以及多个字符,通过示例展示了如何处理字符串中的特殊字符和空格
    2024-11-11
  • 全网最详细Hutool工具详解

    全网最详细Hutool工具详解

    Hutool的目标是使用一个工具方法代替一段复杂代码,从而最大限度的避免“复制粘贴”代码的问题,彻底改变我们写代码的方式。这篇文章主要介绍了全文最详细Hutool工具详解,需要的朋友可以参考下
    2021-12-12
  • SpringBoot实现国际化的操作步骤

    SpringBoot实现国际化的操作步骤

    国际化(Internationalization) 是指为了适应不同语言、文化和地区的用户,使软件能够方便地进行本地化修改的过程,本文介绍了SpringBoot 国际化功能的简单使用,感兴趣的朋友可以参考下
    2024-02-02

最新评论