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. maven入门教程

    一.Maven 是什么? Maven 英文名称:专家,由名字可见,这个工具野心非常大.有人说他是"构建工具",一个用来把源代码构建成可发布的构件的工具.也有人说是项目管理工具. 官 ...

  2. (转)C# Winform应用程序占用内存较大解决方法整理

    背景: 微软的 .NET FRAMEWORK 现在可谓如火如荼了.但是,.NET 一直所为人诟病的就是“胃口太大”,狂吃内存,虽然微软声称 GC 的功能和智能化都很高,但是内存的回收问题,一直存在困扰 ...

  3. Java_类文件及加载机制

    类文件及类加载机制 标签(空格分隔): Java 本篇博客的重点是分析JVM是如何进行类的加载的,但同时我们会捎带着说一下Class类文件结构,以便对类加载机制有更深的理解. 类文件结构 平台无关性 ...

  4. matplotlib

    前导: 安装 numpy http://sourceforge.net/projects/numpy/files/ http://sourceforge.net/projects/numpy/file ...

  5. django 的auth.authenticate返回为None

    使用auth.authenticate(username= username,passowrd=passowrd),这个用户认证时候,明明数据库中有记录,但是返回就None 我的错误点比较多: 1.我 ...

  6. C library function - tmpfile()

    Description The C library function FILE *tmpfile(void) creates a temporary file in binary update mod ...

  7. 读Effective Java笔记之one:static Factory methods instead of Constructors (静态工厂方与构造器)

    获取类的实例的方法有很多种,在这很多种方法中,它们各有优缺,各有特点.这里,只介绍2中方法 1.使用构造方法 public class Person { private String sex; /** ...

  8. CSS笔记(三)背景

    CSS 允许应用纯色作为背景,也允许使用背景图像创建相当复杂的效果. 参考:http://www.w3school.com.cn/css/css_background.asp 背景色 p {backg ...

  9. 关于line box,inline box,line-height,vertical-align之间的关系

    1.content area 围绕着文字的一种box,高度由font-size和font-family决定.在chrome控制器里,你用鼠标志向某个内敛元素,显示的高度值. 2.inline box的 ...

  10. Andoid java文件中的Log检查工具

    AndroidLogChecker 由于发布软件版本的时候我们需要把Log注释掉,此工具可以检查java类中的Log所在行以及是否已经注释. Github: https://github.com/cu ...