java 网络编程 页面下载源代码
来源:互联网 发布:网络配音 编辑:程序博客网 时间:2024/06/07 04:09
DownPage.java
public class DownPage {public static void main(String[] args){pageDown gui = new pageDown();gui.setVisible(true);}}
pageDown.java
import java.awt.BorderLayout;import java.awt.Container;import java.awt.Desktop;import java.awt.Dimension;import java.awt.FlowLayout;import java.awt.GridBagConstraints;import java.awt.GridBagLayout;import java.awt.Insets;import java.awt.event.MouseAdapter;import java.awt.event.MouseEvent;import java.awt.event.WindowAdapter;import java.awt.event.WindowEvent;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.File;import java.io.FileFilter;import java.io.FileWriter;import java.io.IOException;import java.io.InputStreamReader;import java.net.HttpURLConnection;import java.net.MalformedURLException;import java.net.URL;import java.net.UnknownHostException;import javax.swing.JButton;import javax.swing.JFileChooser;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JOptionPane;import javax.swing.JPanel;import javax.swing.JTextField;import javax.swing.border.EmptyBorder;public class pageDown extends JFrame {public pageDown() {initComponents();}private void thisWindowClosing(WindowEvent e) {System.exit(0);}private void dwnldMouseClicked(MouseEvent e) {try {URL url = new URL("http://"+ urlField.getText());String lct = lcFile.getText();if(fileName.getText().equals("")){String str = urlField.getText().substring(0, urlField.getText().indexOf("."));String name =null;if(str.equals("www")){String nameTmp = urlField.getText().substring(urlField.getText().indexOf(".") + 1, urlField.getText().length());name = nameTmp.substring(0,nameTmp.indexOf("."));}else{name = str;}file = new File(lct + "\\" + name + ".html");}else{file = new File(lct + "\\" + fileName.getText() + ".html");}HttpURLConnection connection = (HttpURLConnection) url.openConnection();BufferedReader down = new BufferedReader(new InputStreamReader(connection.getInputStream(),"utf-8"));BufferedWriter save = new BufferedWriter(new FileWriter(file));String line = null;while((line = down.readLine()) != null){save.write(line);save.newLine();save.flush();}connection.disconnect();save.close(); JOptionPane.showMessageDialog(this, "下载完成");} catch (MalformedURLException e1) {// TODO Auto-generated catch block} catch (IOException e1) {JOptionPane.showMessageDialog(this, "下载失败,请检查网络连接并验证网页地址的有效性");// TODO Auto-generated catch block}catch (IllegalArgumentException e1){JOptionPane.showMessageDialog(this, "请输入网页地址");} catch(StringIndexOutOfBoundsException e1){JOptionPane.showMessageDialog(this, "请检查你的网址是否有误");}}private void openMouseClicked(MouseEvent e) {// TODO add your code heretry {if(file == null){JOptionPane.showMessageDialog(this, "请先下载文件");}else{Desktop.getDesktop().open(file);} } catch (IOException e1) { // TODO Auto-generated catch block e1.printStackTrace(); }catch (IllegalArgumentException e1){JOptionPane.showMessageDialog(this, "请先下载文件");}}private void openFileMouseClicked(MouseEvent e) {// TODO add your code here JFileChooser jfChooser = new JFileChooser(lcFile.getText()); jfChooser.setDialogTitle("选择目标文件夹"); jfChooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY); jfChooser.showOpenDialog(this); File fileIn = jfChooser.getCurrentDirectory(); lcFile.setText(fileIn.toString());}private void initComponents() {dialogPane = new JPanel();contentPanel = new JPanel();label1 = new JLabel();label3 = new JLabel();urlField = new JTextField();label2 = new JLabel();lcFile = new JTextField();openFile = new JButton();label4 = new JLabel();fileName = new JTextField();label5 = new JLabel();buttonBar = new JPanel();dwnld = new JButton();open = new JButton();//======== this ========setResizable(false);setTitle("\u7f51\u9875\u4e0b\u8f7d\u5668");addWindowListener(new WindowAdapter() {@Overridepublic void windowClosing(WindowEvent e) {thisWindowClosing(e);}});Container contentPane = getContentPane();contentPane.setLayout(new BorderLayout());//======== dialogPane ========{dialogPane.setBorder(new EmptyBorder(12, 12, 12, 12));dialogPane.setPreferredSize(new Dimension(400, 300));dialogPane.addPropertyChangeListener(new java.beans.PropertyChangeListener(){public void propertyChange(java.beans.PropertyChangeEvent e){if("border".equals(e.getPropertyName()))throw new RuntimeException();}});dialogPane.setLayout(new BorderLayout());//======== contentPanel ========{contentPanel.setPreferredSize(new Dimension(380, 30));contentPanel.setLayout(new FlowLayout(FlowLayout.LEFT));//---- label1 ----label1.setPreferredSize(new Dimension(360, 20));label1.setText("\u8bf7\u8f93\u5165\u76ee\u6807URL\uff1a");contentPanel.add(label1);//---- label3 ----label3.setText("http://");contentPanel.add(label3);//---- urlField ----urlField.setPreferredSize(new Dimension(300, 25));contentPanel.add(urlField);//---- label2 ----label2.setPreferredSize(new Dimension(360, 20));label2.setText("\u8bf7\u8f93\u5165\u5b58\u50a8\u76ee\u6807\u5730\u5740\uff1a");contentPanel.add(label2);//---- lcFile ----lcFile.setPreferredSize(new Dimension(300, 25));lcFile.setText("C:\\Users\\Administrator\\Downloads");contentPanel.add(lcFile);//---- openFile ----openFile.setText("...");openFile.addMouseListener(new MouseAdapter() {@Overridepublic void mouseClicked(MouseEvent e) {openFileMouseClicked(e);}});contentPanel.add(openFile);//---- label4 ----label4.setText("\u5b58\u50a8\u4e3a\uff1a");contentPanel.add(label4);//---- fileName ----fileName.setPreferredSize(new Dimension(150, 25));contentPanel.add(fileName);//---- label5 ----label5.setText(".html");contentPanel.add(label5);}dialogPane.add(contentPanel, BorderLayout.CENTER);//======== buttonBar ========{buttonBar.setBorder(new EmptyBorder(12, 0, 0, 0));buttonBar.setLayout(new GridBagLayout());((GridBagLayout)buttonBar.getLayout()).columnWidths = new int[] {0, 85, 80};((GridBagLayout)buttonBar.getLayout()).columnWeights = new double[] {1.0, 0.0, 0.0};//---- dwnld ----dwnld.setText("\u4e0b\u8f7d");dwnld.addMouseListener(new MouseAdapter() {@Overridepublic void mouseClicked(MouseEvent e) {dwnldMouseClicked(e);}});buttonBar.add(dwnld, new GridBagConstraints(1, 0, 1, 1, 0.0, 0.0,GridBagConstraints.CENTER, GridBagConstraints.BOTH,new Insets(0, 0, 0, 5), 0, 0));//---- open ----open.setText("\u67e5\u770b");open.addMouseListener(new MouseAdapter() {@Overridepublic void mouseClicked(MouseEvent e) {openMouseClicked(e);}});buttonBar.add(open, new GridBagConstraints(2, 0, 1, 1, 0.0, 0.0,GridBagConstraints.CENTER, GridBagConstraints.BOTH,new Insets(0, 0, 0, 0), 0, 0));}dialogPane.add(buttonBar, BorderLayout.SOUTH);}contentPane.add(dialogPane, BorderLayout.CENTER);pack();setLocationRelativeTo(getOwner());//GEN-END:initComponents}//GEN-BEGIN:variablesprivate JPanel dialogPane;private JPanel contentPanel;private JLabel label1;private JLabel label3;private JTextField urlField;private JLabel label2;private JTextField lcFile;private JButton openFile;private JLabel label4;private JTextField fileName;private JLabel label5;private JPanel buttonBar;private JButton dwnld;private JButton open;private File file;//GEN-END:variables}
- java 网络编程 页面下载源代码
- Java 网络爬虫获取页面源代码
- 《网络机器人java编程指南》源代码下载http://www.goldenbg.com/article.asp?id=644
- Java基础-多线程下载(网络编程-多线程)
- Java网络编程--简易下载器实现
- 网络编程--JAVA之多线程下载
- Java网络编程:实现HTTP断点续传下载工具(附源代码)
- java网络编程:下载网络上的一张图片
- java网络爬虫——下载页面图片
- WebCollector下载整站页面(JAVA网络爬虫)
- java源代码详细注释 网络文件下载之分段下载(可扩展 断点续传)
- UNIX网络编程 源代码 使用方法
- 编译UNIX网络编程源代码
- unix网络编程源代码编译
- 网络编程之下载
- Swing Examples所有页面及源代码下载
- java网络编程六:DatagramSocket类简单实现文件下载
- java网络编程之Http多线程下载应用实例
- Oracle中建立索引并强制优化器使用
- Forefront Identity Manager 2010高效身份管理 (03): Forefront Identity Manager 2010 安装过程概述(下)
- java自己绘制多层表头
- windows+python2.7在IDLE中执行sys.exit()出现的问题及解决方案
- 使用 PIVOT 和 UNPIVOT
- java 网络编程 页面下载源代码
- 淡定人生,享受平静
- Android跨进程通信-AIDL
- cookie思路
- java 中格式化小数位数
- 黑马程序员之基础知识总结2
- sgu 176. Flow construction
- Velocity浅析及与Jsp、Freemarker对比
- Common code violations in Java