离线网页制作器(beta1.0)
时间:2022-05-05
本文章向大家介绍离线网页制作器(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 }
- Go语言cmd命令通过管道实现交互
- 三撩Python
- linq学习笔记(二)
- 盘点2017十大科学突破,让孩子与未来相遇
- ASP.NET 2.0 中的异步页[来自MSDN]
- 温习sql语句中JOIN的各种操作(SQL2005环境)
- 揭开ps的神秘面纱——初步认识photoshop
- 地理坐标系与投影坐标系的区别
- ExtJs学习笔记(6)_可分页的GridPanel
- PowerDesinger联系的定义及使用
- Gis链接
- TortoiseSVN文件夹及文件图标不显示解决方法 TortoiseSVN文件夹及文件图标不显示解决方法
- 地图坐标
- PowerDesigner15连接Oracle失败的解决办法
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 面试被问:Spring Boot中Tomcat是如何启动的?
- Spring Boot 实现定时任务的动态增删启停等管理!
- Apache NIFI ExecuteScript组件脚本使用教程
- Redis必会的性能监控指标汇总
- 带你体验Apache NIFI新建数据同步流程(NIFI入门)
- Spring JPA 存储库接口定义
- 如何给Apache开源项目贡献代码
- 深入解析Apache NIFI的调度策略
- Linux 帮助命令及工具(tldr,man,help,info)
- Json Jolt教程
- Linux 日常操作
- 回顾|腾讯云 CFS 文件存储给 Serverless 云函数带来的业务新场景
- Apache NIFI Run Duration深入理解
- Controller services are daemons
- 动手体验JVM中Class对象的唯一性