效 果: 由于Applet的安全性问题,网页中无法正常操作.我是在JB5中执行通过的.IE中需要数字签名. 程序代码: import java.awt.*; import java.awt.event.*; import java.applet.*; import java.net.*; import java.io.*; public class search extends Applet implements ActionListener // 增加事件监听器 { Panel top = new Panel(new BorderLayout()); // 设置布局 TextArea doc = new TextArea(); Button read = new Button("读取"); TextField addr = new TextField("http://www.delfan.com/data/sitedata.dat"); public void init() { try { setLayout(new BorderLayout()); // 设置布局 add(top,BorderLayout.NORTH); // 增加到顶部 add(doc,BorderLayout.CENTER); // 增加到客户区 top.add(read,BorderLayout.EAST); // 在最右边增加按钮 top.add(addr,BorderLayout.CENTER); // 其他部分用编辑框填满 read.addActionListener(this); // 按钮增加到监听器中 } catch(Exception e) { System.out.println("创建失败"); } } public void actionPerformed(ActionEvent e) // 相应事件处理 { String str = e.getActionCommand(); // 取得发出命令控件显示的名称 if(str.equals("读取")) try { doc.setText(""); // 清除doc内容 ReadURL(addr.getText()); // 读指定的数据并放到XXX中 } catch(Exception ex) { doc.setText("读取失败"); } } public void ReadURL(String URLName) throws Exception // 如果发生异常则向上抛出 { int HttpResult; // 服务器返回的状态 URL url =new URL(URLName); // 创建URL URLConnection urlconn = url.openConnection(); // 试图连接并取得返回状态码 urlconn.connect(); HttpURLConnection httpconn =(HttpURLConnection)urlconn; HttpResult = httpconn.getResponseCode(); if(HttpResult != HttpURLConnection.HTTP_OK) // 不等于HTTP_OK说明连接不成功 doc.setText("无法连接到" + addr.getText()); else { int filesize = urlconn.getContentLength(); // 取数据长度 InputStreamReader isReader = new InputStreamReader(urlconn.getInputStream()); char[] buffer = new char[2048]; // 创建存放输入流的缓冲 int num = 0; // 读入的字节数 while(num>-1) { num = isReader.read(buffer); // 读入到缓冲区 if(num < 0) break; // 已经读完 doc.append(new String(buffer,0,num)); // 显示出来 } isReader.close();//关闭输入流 } } } 说明:我试验了一下,可以读任何网络上存在的资源,呵呵,那不是就可以做一个下载软件了吗?只需要增加个输出流保存到本地的文件中就可以了:)
|
|