zoukankan      html  css  js  c++  java
  • 离线网页制作器(beta1.0)

      1 package hhuarongdao;
      2 /*
      3  *使用方法: 先选择保存路径,然后输入相应的网址,
      4  *然后会得到那个网页的离线版的 内容 
      5  * */
      6 import java.awt.BorderLayout;
      7 import java.awt.Container;
      8 import java.awt.FlowLayout;
      9 import java.awt.Font;
     10 import java.awt.event.ActionEvent;
     11 import java.awt.event.ActionListener;
     12 import java.io.File;
     13 import java.io.FileNotFoundException;
     14 import java.io.FileOutputStream;
     15 import java.io.IOException;
     16 import java.io.InputStream;
     17 import java.io.OutputStream;
     18 import java.net.MalformedURLException;
     19 import java.net.URL;
     20 import java.util.Scanner;
     21 import javax.swing.ImageIcon;
     22 import javax.swing.JButton;
     23 import javax.swing.JFileChooser;
     24 import javax.swing.JFrame;
     25 import javax.swing.JLabel;
     26 import javax.swing.JOptionPane;
     27 import javax.swing.JPanel;
     28 import javax.swing.JTextField;
     29 
     30 public class stu {
     31     public static void main(String args []){
     32     setBjing mybe= new setBjing();
     33     }
     34 }
     35 
     36 class mywndow extends JFrame
     37  {
     38    mywndow(String title){
     39         setTitle(title);
     40         setBounds(200,100 ,400,300);
     41         this.setResizable(false);
     42       }
     43  }
     44 //设置一个背景
     45 class setBjing implements ActionListener
     46 {
     47      URL url;    
     48      look it=new look();
     49      Thread readurl;
     50      Container com;
     51      JButton  button,button1 ;
     52      JTextField text,mytext ;
     53      setBjing(){
     54       mywndow hehe =new mywndow("离线网页制作器1.bate");
     55       com=hehe.getContentPane();
     56       com.setLayout(new FlowLayout());
     57       mytext =new JTextField(20);
     58       mytext.setEditable(false);   //设置成为不能
     59       mytext.setFont(new Font("Arial",Font.BOLD,22));
     60       button1 = new JButton("选择路径");
     61       button1.addActionListener(this);
     62       button = new JButton("Submitt");
     63       button.addActionListener(this);
     64       text = new JTextField(20);
     65       text.addActionListener(this);
     66       JLabel label = new JLabel("输入网址,如:http://www.baidu.com");
     67       com.add(label);
     68       com.add(text);
     69       com.add(button);
     70       com.add(button1);
     71       com.add(mytext);
     72       hehe.setVisible(true);
     73       hehe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
     74       //text.setText("输入网址,例如:http://www.baidu.com");
     75     }
     76       public  void work(String ss){
     77               try {
     78                 url = new URL(ss);
     79                 it.setURL(url);
     80                 readurl = new Thread(it);
     81                 readurl.start();
     82              }
     83             catch (Exception exp)
     84             {
     85                 // TODO Auto-generated catch block
     86              JOptionPane.showMessageDialog(text,exp,"离线网页制作器1.bate",JOptionPane.ERROR_MESSAGE);
     87             }
     88              }
     89      @Override
     90     public void actionPerformed(ActionEvent e) {
     91         // TODO Auto-generated method stub
     92         if(e.getSource()==button){
     93             String ss=text.getText().toString().trim();  
     94             work(ss);
     95             text.setText(null);
     96         }
     97         else if(e.getSource()==button1){
     98             JFileChooser chooser = new JFileChooser();
     99             chooser.setCurrentDirectory(new File("D:/")); //默认路径为D盘
    100             chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);//文件选择模式,只读
    101             int index = chooser.showDialog(null, "确定");
    102             if(index==chooser.APPROVE_OPTION){
    103              it.setPath(chooser.getSelectedFile().getAbsolutePath());
    104              mytext.setText(chooser.getSelectedFile().getAbsolutePath().toString());
    105              //validate();
    106             }
    107         }
    108     }
    109 }
    110 class look implements Runnable
    111 {
    112     URL url;
    113     public File fwrite = new File("url.html");
    114    void setPath(String road)
    115    {
    116      fwrite = new File(road+".html");
    117    }
    118     public void setURL(URL url){
    119         this.url=url;    
    120     }
    121     @Override
    122     public void run() {                          
    123         // TODO  Auto-generated method stub
    124       try{
    125           OutputStream  out = new FileOutputStream(fwrite,true);
    126           InputStream in=url.openStream();
    127           byte [] a=new byte [1024];
    128           int n=-1;
    129          while( (n=in.read(a))!=-1 ){
    130              out.write(a, 0,n);
    131          }
    132         out.close();
    133        JOptionPane.showMessageDialog(null,"保存成功!","离线网页制作器1.bate",JOptionPane.ERROR_MESSAGE);
    134       }
    135      catch(IOException e){
    136         JOptionPane.showMessageDialog(null,"文件保存失败!","离线网页制作器1.bate",JOptionPane.ERROR_MESSAGE);
    137        };
    138     }
    139 }

  • 相关阅读:
    如何用密码保护共享文件?
    如何让光驱自动弹出和关闭?
    欢迎参加“诊断 Windows 7 启动及登录缓慢问题”在线技术会议
    谁偷走了我的系统资源?
    修改Windows验证的登陆框为页面
    使用Fiddler提高前端工作效率
    对非管理员隐藏Site Actions的菜单
    C#多线程参数传递
    转:管理网站集所使用的内容数据库
    转:十步骤让你轻松提升SharePoint性能
  • 原文地址:https://www.cnblogs.com/gongxijun/p/3920337.html
Copyright © 2011-2022 走看看