本文共 1550 字,大约阅读时间需要 5 分钟。
展开全部
方法一:调用浏览器下载文件
下面Action里的代码可以用调用浏览器进行下载xml文件import java.awt.Desktop;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.net.URI;
import javax.swing.JButton;
import javax.swing.JFrame;
public class DownLoadDemo extends JFrame {
JButton jb;
public DownLoadDemo() {
32313133353236313431303231363533e78988e69d8331333337616534jb = new JButton("Download");
jb.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
try {
String path = "网络xml的地址";
URI uri = new URI(path);
Desktop.getDesktop().browse(uri);
} catch (Exception e1) {
e1.printStackTrace();
}
}
});
add(jb);
setTitle("调用浏览器下载");
setBounds(380, 380,230,80);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}
public static void main(String[] args) {
new DownLoadDemo();
}
}
当时上述下载方式,可能会弹出提示,比如保存位置等.
方法二:使用IO和net下载文件.这种方式没有调用浏览器,下载过程,不会弹出提示灯import java.io.FileOutputStream;
import java.io.InputStream;
import java.net.URL;
import java.net.URLConnection;
import java.util.Date;
public class DownLoadDemo {
public static void main(String[] args) throws Exception {
String str = "XML的网络地址";
URL url = new URL(str);
URLConnection urlconn = url.openConnection();
urlconn.connect();
InputStream is = urlconn.getInputStream();
FileOutputStream fos = new FileOutputStream("qq.exe");
byte[] buf = new byte[4096];
int length = 0;
//System.out.println("开始下载时间:"+new Date());
while((length=is.read(buf))!=-1){
fos.write(buf, 0, length);
}
fos.close();
is.close();
//System.out.println("下载完成时间:"+new Date());
}
}
转载地址:https://blog.csdn.net/weixin_33613462/article/details/114151163 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!