`
文章列表
import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.io.InputStream; import java.io.PrintWriter; import java.net.InetAddress; import java.net.URLEncoder; import java ...
"^\d+$"  //非负整数(正整数 + 0) "^[0-9]*[1-9][0-9]*$"  //正整数 "^((-\d+)|(0+))$"  //非正整数(负整数 + 0) "^-[0-9]*[1-9][0-9]*$"  //负整数 "^-?\d+$"    //整数 "^\d+(\.\d+)?$"  / ...
import java.io.ByteArrayInputStream; import java.io.File; import java.io.FileOutputStream; import java.io.FilenameFilter; import java.io.IOException; import java.util.ArrayList; import java.util.List;     import org.dom4j.Document; import org.dom4j.DocumentException; import org.dom4j.Do ...
使用dom4j解析来自InputStream中的XML内容,发生异常:Premature end of file原来是这个InputStream已经读过了,在读入dom4j时,不是从开头读的,因此报错。 一般是生成的xml文件是否是缺少<Root></Root>或者<Root/>
  import java.io.File; public class FileManager { public static void listRoots() { // 将根目录存入File数组roots中 File[] roots = File.listRoots(); // 打印出根目录 try { for (int i = 0; i < roots.length; i++) { System.out.println("======================================"); ...
Java 开发人员常常错误地认为 ArrayList 就是 Java 数组的替代品。 Collections 由数组支持,在集合内随机查找内容时性能较好。 与数组一样,集合使用整序数获取特定项。 但集合不是数组的简单替代。 要明白数组与集合的区别需要弄清楚顺序 和位置 的不同。 例如,List 是一个接口,它保存各个项被放入集合中的顺序,如清单 1 所示: 清单 1. 可变键值 import java.util.*; public class OrderAndPosition { public static <T> void dumpArray(T[] arra ...
在浏览 Javadoc 时,Java 开发人员常常会遇到 SortedSet 类型(它在 JDK 中唯一的实现是 TreeSet)。 因为 SortedSet 是 java.util 包中唯一提供某种排序行为的 Collection,所以开发人员通常直接使用它而不会仔细地研究它。 清单 4 展示了: 清单 4. SortedSet,我很高兴找到了它! import java.util.*; public class UsingSortedSet { public static void main(String[] args) { List&l ...
Map 是很好的集合,为我们带来了在其他语言(比如 Perl)中经常可见的好用的键/值对集合。 JDK 以 HashMap 的形式为我们提供了方便的 Map 实现,它在内部使用哈希表实现了对键的对应值的快速查找。 但是这里也有一个小问题:支持哈希码的键依赖于可变字段的内容,这样容易产生 bug,即使最耐心的 Java 开发人员也会被这些 bug 逼疯。 假设清单 3 中的 Person 对象有一个常见的 hashCode() (它使用 firstName、lastName 和 age 字段 — 所有字段都不是 final 字段 — 计算 hashCode() ), 对 Map ...
1、使用框架的意义与Spring的主要内容        随着软件结构的日益庞大,软件模块化趋势出现,软件开发也需要多人合作,随即分工出现。如何划分模块,如何定义接口方便分工成为软件工程设计中越来越关注的问题。良 ...
想一想,还是对于垃圾回收的原理不太了解,就在网上查了一下,发现了几篇不错的文章。 http://java.ccidnet.com/art/3539/20060314/476073_1.htmlhttp://www.pconline.com.cn/pcedu/empolder/gj/java/0509/701281.html 还有:Java堆的管理—垃圾回收提到一下几 ...
/** * * 生成者消费者问题 **/ public class ThreadDemo2{ public static void main(String args[]) { BufferData bd  = new BufferData(); Producer pro = new Producer(bd,"填装者1"); Producer pro2 = new Producer(bd,"填装者2"); Producer pro3 = new Producer(bd,"填装者3"); ...
List<DBObject> listObj = new ArrayList<DBObject>(); DBCollection coll_A = CrawlerMongoDBManager.getCollection(Constant.DB_CONN_PRODUCT); DBCollection coll_B = MatchMongodbManger.getCollection( Constant.MONGODB_ITEM);   for (ItemVO itemVO : listvos) { List<DBRef> ...
public class ParseJMSThreadPool { // poolSize 表示线程池中的工作线程的数量 private static int poolSize = 5; private static boolean load = false; private WeightInfo weightInfo; public WeightInfo getWeightInfo() { return weightInfo; } public void setWeightInfo(WeightInfo weightInfo) { this.weightInfo ...
FilePath = "d:/test/"+targetFile; // 判断XML文件是否存在 File infexFile = new File(FilePath.trim()); SAXBuilder builder = new SAXBuilder(false); Document doc = builder.build(infexFile); 而使用下面的方法如果是大文件的话,话在while处有问题; if (infexFile.exists()) { // 装载XML文件      Reader reader = new InputStreamReader ...
总结了一下: 1、抓取网页数据通过指定的URL,获得页面信息,进而对页面用DOM进行 NODE分析,处理得到原始HTML数据,这样做的优势在于,处理某段数据的灵活性高,难点在节算法需要优化,在页面HTML信息大时,算法不好,会影响处理效率。 2、htmlparser框架,对html页面处理的数据结构,HtmlParser采用了经典的Composite模式,通过RemarkNode、TextNode、TagNode、AbstractNode和Tag来描述HTML页面各元素。Htmlparser基本上能够满足垂直搜索引擎页面处理分析的需求,映射HTML标签,可方便获取标签内的HTML CODE。 ...
Global site tag (gtag.js) - Google Analytics