- 浏览: 24542 次
- 性别:
- 来自: 深圳
最新评论
-
free0007:
是高手写的代码!
nekohtml 帮助类 -
tianhewulei:
TopicDetail只是一个javabean而已,存放临时数 ...
一个简单的lucene全文索引的创建及追加过程 -
haoyuheng:
问一下楼主TopicDetail是什么类啊?
一个简单的lucene全文索引的创建及追加过程
文章列表
我用struts1写了个自定义标签,主要为了替换掉jsp中引入JS的常规写法,如下
<tag>
<name>js</name>
<tagclass>com.comtop.struts.taglib.JsTag</tagclass>
<bodycontent>jsp</bodycontent>
<attribute>
<name>src</name>
<required>false</required& ...
jsoup 是一款 Java 的 HTML 解析器,可直接解析某个 URL 地址、HTML 文本内容。它提供了一套非常省力的 API,可通过 DOM,CSS 以及类似于 jQuery 的操作方法来取出和操作数据。本文主要介绍如何使用 jsoup 来进行常用的 HTML 解析。
jsoup 简介
Java 程序在解析 HTML 文档时,相信大家都接触过 htmlparser 这个开源项目,我曾经在 IBM DW 上发表过两篇关于 htmlparser 的文章,分别是:从 HTML 中攫取你所需的信息和 扩展 HTMLParser 对自定义标签的处理能力。但现在我已经不再使用 htmlparser ...
LCS(Longest Common Subsequence) 就是求两个字符串最长公共子串的问题。
比如:
String str1 = new String("adbccadebbca");
String str2 = new String("edabccadece");
str1与str2的公共子串就是bccade.
解法就是用一个矩阵来记录两个字符串中所有位置的两个字符之间的匹配情况,若是匹配则为1,否则为0。然后求出对角线最长的1序列,其对应的位置就是最长匹配子串的位置.
下面是字符串21232523311324和字符串312123223 ...
项目在进行多线程操作的时候,时常会碰到在一个主线程下要调用多个子线程的问题,如果调度保证这些线程不会打架很让人伤神,在JDK API中发现了这么个专门用来管理线程的接口,java.util.concurrent.ExecutorService。
以下是api的描述
public interface ExecutorServiceextends Executor
Executor 提供了管理终止的方法,以及可为跟踪一个或多个异步任务执行状况而生成 Future 的方法。
可以关闭 ExecutorService,这将导致其停止接受新任务。关闭后,执行程序将最后终止,这时没有任务在执行,也没有 ...
最近项目中用到了这个flash chart组件 ,感觉不错,效果比较拉风,随手记录一下。
官方网站:http://www.amcharts.com
配套的用来调整展示效果的editor:http://extra.amcharts.com/editor/column/
该组件基本运行流程,可以参看下载包之后的例子中的一段话
<script type="text/javascript">
// <![CDATA[
var so = new SWFObject("../../amcolumn/amcolumn.swf", ...
FEDERATED存储引擎访问在远程数据库的表中的数据,而不是本地的表。这个特性给某些开发应用带来了遍历,你可以直接在本地构建一个federated表来连接远程数据表,配置好了之后本地表的数据可以直接跟远程数据表同步。实际上这个引擎里面是不真实存放数据的,所需要的数据都是连接到其他MySQL服务器上。
如何配置?
mysql版本需要5.0以上
(1)查看是否安装了federated引擎
show engines;
Engine Support Comment Transactions XA Savepoints
MEMORY YES Hash based, stored in memory ...
快速排序(Quicksort)是对冒泡排序的一种改进。由C. A. R. Hoare在1962年提出。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。
设要排序的数组是A[0]……A[N-1],首先任意选取一个数据(通常选用第一个数据)作为关键数据,然后将所有比它小的数都放到它前面,所有比它大的数都放到它后面,这个过程称为一趟快速排序。一趟快速排序的算法是:
1)设置两个变量I、J,排序开始的时候:I=0,J=N-1; ...
Lucene是一套用于全文检索和搜寻的开放源码程式库,由Apache软件基金会支持和提供。Lucene提供了一个简单却强大的应用程式接口,能够做全文索引和搜寻,在Java开发环境里Lucene是一个成熟的免费开放源代码工具;就其本身而论, ...
package whu.util.tools;
import java.util.LinkedHashSet;
import java.util.Stack;
import org.htmlparser.Node;
import org.htmlparser.NodeFilter;
import org.htmlparser.Parser;
import org.htmlparser.PrototypicalNodeFactory;
import org.htmlparser.filters.AndFilter;
import org.htmlparser.filte ...
如果需要在HTML页面中提取数据,那么NekoHTML 是个不错的工具。因为HTML跟XML不一样,可能存在一些格式不完整的元素,譬如没有end tag的table等,这个时候,NekoHTML是个很尽责的清道夫和修理工,可以帮助我们整理这些缺陷数据,最终生成一个DOM Tree。 得到DOM Tree话,使用XPath就可以轻松获取所需数据了:-)
下面是几个需要注意的问题:
1、如何使用NekoHTML?
必须在 Java Build Path里加入 nekohtml.jar , xercesImpl.jar 以及xalan.jar。下载的NekoHTML目录中并没有x ...
在用nekohtml对html页面进行解析的时候,经常会碰到 这样的符号经解析之后变成了?,在网上搜索了下答案之后发现了解决方案。
原来neko能够自动对这种类型的HTML字符实体进行分析,但是资源文件却不包含对 的定义。最后我在nekohtml.jar中找到了它使用的资源文件HTMLlat1.properties,在其中加入了一行: nbsp=\u00a0,问题就解决了。
下面是一个nodehelper帮助类,主要是为了输出node 或者nodelist下的文字内容或者完整的html代码。
package com.isa.bbs.parser.utils;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import javax.x ...