java过滤文件的内容

问题描述

最近在遇到一个问题: 我通过java代码连接百度接口搜索内容代码如下: public static void main(String[] args) {// TODO Auto-generated method stubtry { String key = "java"; //查询关键字 key = URLEncoder.encode(key, "gb2312"); URL u = new URL("http://www.baidu.com.cn/s?wd=" + key); URLConnection conn = u.openConnection(); BufferedReader reader = new BufferedReader(new InputStreamReader( conn.getInputStream(), "gb2312")); String str = reader.readLine(); while (str != null) { System.out.println(str); str = reader.readLine(); } reader.close(); } catch (Exception ex) { ex.printStackTrace(); }} 问题是:我搜到的内容我需要过滤,我只要在页面中的一条一条的内容,比如: 上面的代码搜索出来的内容: 1. java.com: Java 与您 立即下载适用于您的桌面计算机的 Java 软件! www.java.com/ 2011-4-21 - 百度快照 2.JAVA - 手机软件 适用机型:Java 赶集生活是由中国最大的本地生活信息门户赶集网(www.ganji.com)最新出品的一款永久免费的机 软件: 【主要功能】: 1、周边信息实时掌握:... soft.shouji.com.cn/sort/java.jsp 2011-8-25 - 百度快照 就这样,我只要这样的数据,并且还要再内容前面加上一个checkbox,方便我以后操作他们,我该怎么办?各位帮忙看看!小弟很急, 问题补充:Wind_ZhongGang 写道

解决方案

class="result 这个字符串是判断是否是结果的依据。
解决方案二:
package com.resource;import junit.framework.TestCase;import java.io.BufferedReader;import java.io.InputStream;import java.io.InputStreamReader;import java.net.URL;import java.net.URLConnection;import java.net.URLEncoder;import java.util.ArrayList;import java.util.List;/** * Created by IntelliJ IDEA. * User: Zhong Gang * Date: 9/6/11 * Time: 10:03 AM */public class FilterContentTest extends TestCase { public void testFilterContent() throws Exception { String key = "java"; key = URLEncoder.encode(key, "gb2312"); URL u = new URL("http://www.baidu.com.cn/s?wd=" + key); URLConnection conn = u.openConnection(); InputStream inputStream = conn.getInputStream(); InputStreamReader inputStreamReader = new InputStreamReader(inputStream, "gb2312"); BufferedReader reader = new BufferedReader(inputStreamReader); String str = reader.readLine(); List<String> results = new ArrayList<String>(); while (str != null) { if (str.contains("class="result")) { String nextStr = reader.readLine(); String result = str + nextStr; results.add(result); } str = reader.readLine(); } for (String result : results) { System.out.println(result); } reader.close(); }}

时间: 2024-07-29 19:36:21

java过滤文件的内容的相关文章

java读取文件特定内容

问题描述 LOC+73+AAAA5::6:MELBOURNEMELBOURNEMELBOURNEMELBOURNE+UN'DTM+95:201105030000:203'RFF+BN:MISCMEL35000000000000000000001'RFF+SI:ABC111111111111111111111111135'文件内容如上,比如我想输出第三行第三个元素,我如何设置条件,当程序搜索到第二个元素即BN时,就输出BN的后面一个元素即第三个元素MISCMEL350000000000000000

编程-一个用java操作文件并修改文件的内容的问题

问题描述 一个用java操作文件并修改文件的内容的问题 假设一个项目里有n个文件,n个文件中有n个无用的注释,这些注释都是这种格式的 /*无效资源开始 System.out.println("无效的内容"); 无效资源结束*/ 怎么才能通过java,把这些注释都删除掉? 解决方案 大概思路:以一个文件为例,依次读出文件中的内容,检查以"/*"开始,以"*/"结束的字符串,如果和给定注释内容相同就删除注释,至于程序,慢慢斟酌吧. 解决方案二: 正则

java在文件尾部追加内容的简单实例_java

如下所示: import java.io.FileWriter; import java.io.IOException; import java.io.RandomAccessFile; /** * 将内容追加到文件尾部. * @author haicheng.cao * */ public class AppendToFile { /** * A方法追加文件:使用RandomAccessFile */ public static void appendMethodA(String fileNa

Java创建文件且写入内容的方法_java

前两天在项目中因为要通过http请求获取一个比较大的json数据(300KB左右)并且保存,思来想去,最后还是决定将获取到的json数据以文件的形式保存下来,每次使用的时候去读取文件就可以了. 废话不多说了,直接上代码. 以下是代码截图,文章结尾会有完成的代码文件可供下载. 创建文件方法: 写入文件内容方法: 删除文件方法: 测试: 关于文件创建,写入内容,删除.可以根据自己的情况再稍作修改. 以下是代码类. package com.file.run; import java.io.Buffer

java读文件

/* Readfile.java读取文件的内容,并将原样输出至屏幕上使用方法:java Readfile 文件名*/ import java.io.*; public class Readfile{public static void main(String[] args){byte[] buff = new byte[1024];boolean cont = true;FileInputStream infile = null; // 生成对象infile 准备读取文件try{infile =

java-Java提取文件相关内容

问题描述 Java提取文件相关内容 做的项目中有一个是提取一些实例,要有年份的限制,但每个实例都有特性.图片说明 要把#* 到#!提取出来 相应#t哪里有限制 各位大神解决这样的问题如何用java实现呢 解决方案 只举个例子 你看看吧 ``` String s="dsds345ge3434rfs#*lsjdfhsalfdjasdfh#!sdfsdfert123452"; Pattern pattern=Pattern.compile("#*(.*?)#!"); Ma

Java读取文件内容的小例子

Java 提供 BufferedReader 类用来从流中读取字符串.FileReader 类用来读取文件.我们用这两个类来读取文件中的字符串. 下面是一个例子: import java.io.BufferedReader;import java.io.FileReader;import java.io.IOException;public class ReadFile{ public static void main(String[] args){ String path="c:/1.txt&

java大文件-java 大文件处理及内容匹配

问题描述 java 大文件处理及内容匹配 读取5G左右txt文件,内容都是由一定格式的长字符串组成,如{a:xxxxxxx}{b:xxxxxx}{c:xxxxxx}... 其中{a:xxxxxxx}为一段,{b:xxxxxxx}为下一段,依次类推. 要求:如果{a:xxxxxxx}中包含目标字符串"XXX",则将{a:xxxxxxx}输出到文件. 目前基本功能已实现,但处理效率比较低,求大牛们提供好的解决思路. 解决方案 每次读取10MB左右的数据,然后分多个块,让多个线程去匹配.循环

java-如何提用Java取文件中几行特定的内容

问题描述 如何提用Java取文件中几行特定的内容 做的项目中有一个是提取一些实例,要有年份的限制,但每个实例都有特性. 要把#* 到#!提取出来相应#t哪里要有个限制 各位大神解决这样的问题如何用java实现呢 解决方案 JAVA正则处理就OK了.