通过java.net 访问相应url,过滤返回的信息,并保存到excel中 ,利用jexcel包进行EXcel文件操作,不足是jexcel中不好实现删除整行。建议以后使用java POI
import java.io.*;
import java.io.File;
import java.util.*;
import java.text.SimpleDateFormat;
import jxl.Workbook;
import jxl.write.Label;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
public class UrlTest {
public static void main(String args[]) {
String[] urls =null; //访问的路径名
String[] resultS=null; //返回的结果
java.net.URL l_url = null;
java.net.HttpURLConnection l_connection =null;
java.io.BufferedReader l_reader =null;
String sCurrentLine = " ";
String sTotalString = " ";
int indexNum0 =-1;
int indexNum1 =-1;
//int indexNumBegin = 0; //内容开始
//int indexNumEnd =0; //内容结束
Calendar rightNow = Calendar.getInstance();
SimpleDateFormat dateFm = new SimpleDateFormat("yyyy-MM-dd");
String time = dateFm.format(rightNow.getTime());
urls = new String[200];
resultS = new String[urls.length];
for(int i=0;i<urls.length;i++){
urls[i]="http://www.scpta.gov.cn/exam.aspx?Id="+(i+1);
}
for(int i=0;i<urls.length;i++ ){
try {
l_url = new java.net.URL(urls[i]);
l_connection = (java.net.HttpURLConnection) l_url
.openConnection();
l_connection.connect();
InputStream l_urlStream = l_connection.getInputStream();
l_reader = new java.io.BufferedReader(
new java.io.InputStreamReader(l_urlStream));
while ((sCurrentLine = l_reader.readLine()) != null) {
sTotalString += sCurrentLine;
}
/****过滤内容开始*****/
indexNum0 = sTotalString.indexOf("class=\"zhuanti_990\">");
indexNum1 = sTotalString.indexOf("</div>",indexNum0);
resultS[i] = (sTotalString.substring(indexNum0+20,indexNum1)).trim();
// System.out.println("urls"+"["+i+"]"+":"+urls[i]);
// System.out.println("页面内容:"+sTotalString);
// System.out.println("截取内容:"+resultS[i]);
sTotalString="";
/****过滤内容结束*****/
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
}
try {
// 打开文件
// System.out.println("开始创建");
WritableWorkbook book = null;
String fileName ="四川人事考试专题整理("+time+").xls";
book = Workbook.createWorkbook(new File(fileName));
// 生成名为“第一页”的工作表,参数0表示这是第一页
WritableSheet sheet = book.createSheet(" 第一页 ", 0);
// 在Label对象的构造子中指名单元格位置是第一列第一行(0,0)
// 以及单元格内容为test
sheet.addCell(new Label(0, 0, "专题内容"));
sheet.addCell(new Label(1, 0, "专题对应地址"));
// 将定义好的单元格添加到工作表中
for(int i=0;i<urls.length;i++){
if(!(resultS[i].trim()).equals("")){
sheet.addCell(new Label(0, i+1, resultS[i]));
sheet.addCell(new Label(1, i+1, urls[i]));
}
}
for (int i = 0; i < urls.length; i++) {
if((resultS[i].trim()).equals("")){
sheet.removeRow(i+1);
}
}
// 写入数据并关闭文件
book.write();
book.close();
} catch (Exception e) {
System.out.println(e);
}
}
}
分享到:
相关推荐
实例126 将由键盘中录入的信息保存到文件中 176 实例127 一个文件变成多个小文件 178 实例128 多个小文件合成一个文件 181 实例129 统计指定文件中的字符个数 183 实例130 对象的序列化与反序列化...
实例126 将由键盘中录入的信息保存到文件中 176 实例127 一个文件变成多个小文件 178 实例128 多个小文件合成一个文件 181 实例129 统计指定文件中的字符个数 183 实例130 对象的序列化与反序列化 185 实例131 同时...
实例111 获取网络资源(URL) 308 实例112 FTP文件传输模拟 311 实例113 自制浏览器 316 实例114 点对点通信(Socket基于TCP协议) 323 实例115 点对面通信(Socket基于TCP/IP协议) 327 实例116 多线程断点续...
实例126 将由键盘中录入的信息保存到文件中 176 实例127 一个文件变成多个小文件 178 实例128 多个小文件合成一个文件 181 实例129 统计指定文件中的字符个数 183 实例130 对象的序列化与反序列化 185...
8. **URL调用**(★★):Java的`java.net.URL`类代表统一资源定位符,`URLConnection`类用于与URL建立连接并获取响应。 9. **HttpURLConnection操作**(★★):用于HTTP通信,可以发送GET和POST请求,处理响应头...
在Java编程中,工具类(Util Classes)是包含各种实用方法的类,它们不与特定对象绑定,而是提供通用的功能。这些工具类极大地提升了代码的复用性和可维护性。以下是一些Java中常用工具类的详细介绍: 1. **String*...
实例126 将由键盘中录入的信息保存到文件中 176 实例127 一个文件变成多个小文件 178 实例128 多个小文件合成一个文件 181 实例129 统计指定文件中的字符个数 183 实例130 对象的序列化与反序列化 185 实例131...
Java语言程序设计是软件开发中的基础且重要的一环,这份文档——"Java开发必备自测练习题.doc",提供了一套全面的Java编程能力检验题目,涵盖了从初级到高级的各种技能点。以下将对其中的一些关键知识点进行详细阐述...
c)播放器-Player,JMF中的接口是Player,将音频/视频数据流作为输入,将数据流输出到音箱或屏幕上 d)处理器-Processor,Processor接口继承了Player接口,支持Player对象所支持的功能外还可以控制对于输入的多媒体...
实例126 将由键盘中录入的信息保存到文件中 176 实例127 一个文件变成多个小文件 178 实例128 多个小文件合成一个文件 181 实例129 统计指定文件中的字符个数 183 实例130 对象的序列化与反序列化 185 实例131 同时...
Calculate1.java 计算浮点数运算结果并调用页面中JavaScript函数的Applet。 Calculate1.class Calculate1.java的字节码文件。 第16章(\c16) 示例描述:介绍JavaScript访问本地文件的各种方法。 16.1....
21. JSP页面范围:JSP页面中数据保存范围从小到大是pageContext、request、session、application。 22. 函数调用:C选项正确,因为fun函数接受一个字符和一个浮点数,'65'在ASCII编码中等同于字符'A',符合调用要求...
5. java中如何把一个目录下的文件移到另一个指定的目录? 6. 制作表格线? 7. jsp如判别一个字符在A到Z之间? 8. 得到一浮点数小数点后4位,如何写以函数截取为两位 9. 整型转字符? 10. 显示数据库的记录,点击哪个...
这些设备用于长期保存数据,即使计算机断电后也能保持数据不变。 5. **URL 的含义**:URL(Uniform Resource Locator)即统一资源定位符,是一种标准的地址格式,用于标识互联网上的资源位置。 ### 操作系统界面 ...
23. Web资源标识:Web资源通过URL(Uniform Resource Locator)进行唯一标识,允许用户访问和获取资源。 这些知识点涵盖了编程语言基础、数据库设计、网络协议、操作系统、软件工程、数据结构和算法等多个领域,都...
数字转中文 128 自动计算金额 129 JSP页面打印中使用WebBrowser控件 130 不刷新页面添加新的类别 131 鼠标滚动缩放图片 132 根据输入的表名生成输入数据表格 133 JSP表格输出到Excel 134.JSP...
14. **Excel中的公式填充**:在Excel中,可以通过拖动单元格右下角的填充柄来自动填充具有相同公式的单元格。正确答案为“正确”,提醒考生掌握电子表格的基本操作。 ### 查询构建 15. **查询构建方式**:本题考察...
在Windows操作系统中,使用组合键`Alt + PrintScreen`可以将当前活动窗口的图像复制到剪贴板中,方便用户快速截取窗口图像进行保存或编辑。 ### 8. VS2008工具箱访问 Visual Studio 2008是一款常用的集成开发环境,...
91.怎样将数据从Excel导入到SQL Server中 92.怎样将数据从Access导入到SQL Server中 94.如何对Access数据库进行压缩 96.如何使用ASP实现Web数据统计和报表 97.如何在查询结果中搜索 第6章 数据验证 101.如何在ASP...