当前位置:编程学习 > JAVA >>

怎样实现根据一个url地址打开网页,并保存源代码

如果,想知道如何根据一个url地址实现打开网页的功能,

高手、大侠们都出来帮帮忙,小弟新手、、

--------------------编程问答-------------------- url --------------------编程问答-------------------- java.net.URL --------------------编程问答-------------------- 这是打开网页的,要保存网页,用流读取写在本地就行
import java.awt.*;
import java.awt.event.*;
import java.net.*;
import java.io.*;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.net.*;
import java.io.*;
public class test
{  public static void main(String args[])
   {  new NetWin();
   }
}
class NetWin extends JFrame 
implements ActionListener,Runnable
{  JButton button;
   URL url;
   JTextField text;
   JTextArea area; 
   byte b[]=new byte[118];
   Thread thread;
   NetWin()
   {  text=new JTextField(20);
      area=new JTextArea(12,12);
      button=new JButton("确定");
      button.addActionListener(this);
      thread=new Thread(this);
      JPanel p=new JPanel();
      p.add(new JLabel("输入网址:"));
      p.add(text); 
      p.add(button);
      add(area,BorderLayout.CENTER);
      add(p,BorderLayout.NORTH);
      setBounds(60,60,460,300);
      setVisible(true);
      validate();
   }
   public void actionPerformed(ActionEvent e)
   { 
      if(!(thread.isAlive())) 
         thread=new Thread(this);
      try{
           thread.start();
         }
      catch(Exception ee)
         { text.setText("我正在读取"+url);
         }
   }
  public void run()
   {    try {    int n=-1;
                 area.setText(null);
                 url=new URL(text.getText().trim());
                 InputStream in=url.openStream();
                 while((n=in.read(b))!=-1)
                 {   String s=new String(b,0,n);
                     area.append(s);    
                 }
            }
          catch(MalformedURLException e1)
           {     text.setText(""+e1);
                 return;
           }
          catch(IOException e1)
           {     text.setText(""+e1);
                 return;
           }  
   }
}

--------------------编程问答-------------------- 不明白.没做过.帮你顶一下. --------------------编程问答-------------------- 记得有个JEditorPane可以显示网页. --------------------编程问答--------------------

url="http://www.hao123.com"
jEditorPane.setPage(url);
--------------------编程问答-------------------- 谢谢大家的帮忙,特别是三楼的大大。
  三楼的代码,小弟先测试下
    

再次感谢大家~~ --------------------编程问答-------------------- java.net.URL.openStream()
想这么用就怎么用 --------------------编程问答-------------------- 想知道如何根据一个url地址实现打开网页的功能,?
指的什么意思呢?
给一个url地址,实现 打开网页功能,
是在java中打开网页么?
如果在jsp中直接+ a href 即可。
在类中没那么搞过. --------------------编程问答--------------------
引用 9 楼 jichunxu 的回复:
想知道如何根据一个url地址实现打开网页的功能,?
 指的什么意思呢?
 给一个url地址,实现 打开网页功能,
 是在java中打开网页么?
 如果在jsp中直接+ a href 即可。
 在类中没那么搞过.


我的意思是给定一个url  打开这个网页 并把这个网页的源码保存在本地

三楼的大侠的代码测试过了,有点问题,就是动态url里面出现 ?&  这类的符号的时候  会报错~~ --------------------编程问答--------------------


StringBuffer sb=null;
try {
        // Create a URL for the desired page
        URL url = new URL("http://www.baidu.com/index.html");
    
        // Read all the text returned by the server
        BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream()));
        String str;
        sb=new StringBuffer();
        
        while ((str = in.readLine()) != null) {
            sb.append(str);
        }
        in.close();

    } catch (MalformedURLException e) {
    } catch (IOException e) {
    }
    
    System.out.println(sb);
--------------------编程问答--------------------
引用 3 楼 dajiadebeibei9 的回复:
这是打开网页的,要保存网页,用流读取写在本地就行

Java code


 /**
     * Returns the offset of this time zone from UTC at the specified
     * date. If Daylight Saving Time is in effect at the specified
     * date,……


能说明白点么
补充:Java ,  Java SE
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,