package hhuarongdao;
/*
*使用方法: 先选择保存路径,然后输入相应的网址,
*然后会得到那个网页的离线版的 内容
* */
import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.Scanner;
import javax.swing.ImageIcon;
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; public class stu {
public static void main(String args []){
setBjing mybe= new setBjing();
}
} class mywndow extends JFrame
{
mywndow(String title){
setTitle(title);
setBounds(200,100 ,400,300);
this.setResizable(false);
}
}
//设置一个背景
class setBjing implements ActionListener
{
URL url;
look it=new look();
Thread readurl;
Container com;
JButton button,button1 ;
JTextField text,mytext ;
setBjing(){
mywndow hehe =new mywndow("离线网页制作器1.bate");
com=hehe.getContentPane();
com.setLayout(new FlowLayout());
mytext =new JTextField(20);
mytext.setEditable(false); //设置成为不能
mytext.setFont(new Font("Arial",Font.BOLD,22));
button1 = new JButton("选择路径");
button1.addActionListener(this);
button = new JButton("Submitt");
button.addActionListener(this);
text = new JTextField(20);
text.addActionListener(this);
JLabel label = new JLabel("输入网址,如:http://www.baidu.com");
com.add(label);
com.add(text);
com.add(button);
com.add(button1);
com.add(mytext);
hehe.setVisible(true);
hehe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//text.setText("输入网址,例如:http://www.baidu.com");
}
public void work(String ss){
try {
url = new URL(ss);
it.setURL(url);
readurl = new Thread(it);
readurl.start();
}
catch (Exception exp)
{
// TODO Auto-generated catch block
JOptionPane.showMessageDialog(text,exp,"离线网页制作器1.bate",JOptionPane.ERROR_MESSAGE);
}
}
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
if(e.getSource()==button){
String ss=text.getText().toString().trim();
work(ss);
text.setText(null);
}
else if(e.getSource()==button1){
JFileChooser chooser = new JFileChooser();
chooser.setCurrentDirectory(new File("D:/")); //默认路径为D盘
chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);//文件选择模式,只读
int index = chooser.showDialog(null, "确定");
if(index==chooser.APPROVE_OPTION){
it.setPath(chooser.getSelectedFile().getAbsolutePath());
mytext.setText(chooser.getSelectedFile().getAbsolutePath().toString());
//validate();
}
}
}
}
class look implements Runnable
{
URL url;
public File fwrite = new File("url.html");
void setPath(String road)
{
fwrite = new File(road+".html");
}
public void setURL(URL url){
this.url=url;
}
@Override
public void run() {
// TODO Auto-generated method stub
try{
OutputStream out = new FileOutputStream(fwrite,true);
InputStream in=url.openStream();
byte [] a=new byte [1024];
int n=-1;
while( (n=in.read(a))!=-1 ){
out.write(a, 0,n);
}
out.close();
JOptionPane.showMessageDialog(null,"保存成功!","离线网页制作器1.bate",JOptionPane.ERROR_MESSAGE);
}
catch(IOException e){
JOptionPane.showMessageDialog(null,"文件保存失败!","离线网页制作器1.bate",JOptionPane.ERROR_MESSAGE);
};
}
}

离线网页制作器(beta1.0)的更多相关文章

  1. 离线方式部署Ambari2.6.0.0

    Hadoop生态圈-离线方式部署Ambari2.6.0.0 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 我现在所在的公司用的是CDH管理Hadoop集群,前端时间去面试时发现很多 ...

  2. Hawk 3. 网页采集器

    1.基本入门 1. 原理(建议阅读) 网页采集器的功能是获取网页中的数据(废话).通常来说,目标可能是列表(如购物车列表),或是一个页面中的固定字段(如JD某商品的价格和介绍,在页面中只有一个).因此 ...

  3. 转载:手机网页制作的认识(有关meta标签)

    下面是手机网页的一些认识: 一.<meta name="viewport" id="viewport" content="width=devic ...

  4. 用 python 实现一个多线程网页下载器

    今天上来分享一下昨天实现的一个多线程网页下载器. 这是一个有着真实需求的实现,我的用途是拿它来通过 HTTP 方式向服务器提交游戏数据.把它放上来也是想大家帮忙挑刺,找找 bug,让它工作得更好. k ...

  5. .net C# 网页播放器 支持多种格式 媒体播放器 播放器 代码

    .avi格式代码片断如下:<object id='video' width='400' height='200' border='0' classid='clsid:CFCDAA03-8BE4- ...

  6. 网页制作之html基础学习1-简介

    学习网页制作主要分为三大块 1.HTML    超文本标记语言( 全称:Hyper Text  Markup Language) 专门编辑静态网页 2.CSS      网页美化:是HTML控制的样式 ...

  7. 全平台网页播放器兼容H5与Flash还带播放列表

    许久不发文了,2018年第一篇文章,写点干货--关于网页播放器的问题.嗯,实际上我是在52破解首发的,当做新人贴. 目前来说,网页播放器不少,随便找找都能找到一大堆,然而好用的就那么几个,比如ckpl ...

  8. 六: Image Viewer 离线镜像查看器

    参考:http://hadoop.apache.org/docs/r2.6.3/hadoop-project-dist/hadoop-hdfs/HdfsImageViewer.html   离线镜像查 ...

  9. 第5章 网页下载器和urllib2模块

    网页下载器:将互联网上URL对应的网页下载到本地的工具 通过网页下载器将互联网中的url网页,存储到本地或内存字符串 python有哪几种网页下载器? 1.urllib2  python官方基础模块 ...

随机推荐

  1. Set Font Properties On Mouse Hover Of Push Button And Text Items At Run time In Oracle Forms

    Change the font size and weight of text items and push buttons on mouse hover in Oracle Forms.   An ...

  2. 长链非编码RNA(lncRNA)

    长链非编码RNA(lncRNA) 转自:http://blog.sina.com.cn/s/blog_909da11301010bkz.html     长链非编码RNA(lncRNA)是一类转录本长 ...

  3. iOS - Swift 与 C 语言交互编程

    前言 作为一种可与 Objective-C 相互调用的语言,Swift 也具有一些与 C 语言的类型和特性,如果你的代码有需要,Swift 也提供了和常见的 C 代码结构混合编程的编程方式. 1.基本 ...

  4. iOS - Swift 面向对象语法

    1.面向对象 面向过程:面向过程编成将所要解决的问题按解决问题的步骤进行分析.如果是大问题,就分解成为多个不同的小问题,在程序里叫做划分成不同的模块.每一个解决的步骤可能是一行或者几行代码,也可能是一 ...

  5. iOS - UIControl

    前言 NS_CLASS_AVAILABLE_IOS(2_0) @interface UIControl : UIView @available(iOS 2.0, *) public class UIC ...

  6. FFPEG 转码记录------解决了有流,但是没有码率和FPS?

    命令行:(已经测试成功) ffmpeg -i rtmp://localhost/live/S0000_8 -c:v libx264 -b:v 500k -c:a libfdk_aac -b:a 64k ...

  7. [转载] ORMs under the hood

    原文: http://www.vertabelo.com/blog/technical-articles/orms-under-the-hood It often happens that if so ...

  8. web设计经验<八>20个设计新手常犯的排版设计误区

    很多同学问设哥,为什么别人字体就那么随意放一下就辣么好看,其实排版可有大学问,不是随意放就好看.这就如同配色一样,也有千变万化的学问.相信大家看完Designschool这篇头条热文,一定倍有收获. ...

  9. mysql SQL_CALC_FOUND_ROWS

    mysql> ,; +----+ | id | +----+ |   | |   | |   | |   | |   | +----+  rows  | +--------------+  ro ...

  10. 关于mysql的基础知识

    一.数据库的简介 什么是数据库? 数据的仓库,如:在atm的实例中我们创建一个db目录称之为数据库 什么是 MySQL.Oracle.SQLite.Access.MS SQL Server等 ? 他们 ...