`
pipe
  • 浏览: 206955 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java 读取 rss(gzip格式)

    博客分类:
  • j2se
阅读更多
用java自带的gzip解压就可以了!这种只限于gzip格式
import java.io.*;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.zip.GZIPInputStream;
public class ConnectTester {

	public static void requestInfo() {
		URL url = null;
		try {
			url = new URL("http://blog.sina.com.cn/rss/xujinglei.xml");
			HttpURLConnection conn = (HttpURLConnection) url.openConnection();		
			 GZIPInputStream gzin=new GZIPInputStream(conn.getInputStream()); 
			 FileOutputStream fout=new FileOutputStream("E:\\test.xml"); 
			 byte[] buf=new byte[1024];
			   int num;
			   while ((num=gzin.read(buf,0,buf.length))!=-1) { 
			    fout.write(buf,0,num); 
			   }
			   gzin.close();
			   fout.close();  

		} catch (Exception e) {
			e.printStackTrace();
		}
	}
	public static void main(String args[]) {
		requestInfo();
	}

普通的xml格式rss可以这样做
public static void requestInfo() {

		URL url;
		try {
			url = new URL("http://www.people.com.cn/rss/politics.xml");

			URLConnection conn;
			conn = url.openConnection();

			BufferedReader bufferedreader = new BufferedReader(
					new InputStreamReader(conn.getInputStream()));
			String line = null;
			while ((line = bufferedreader.readLine()) != null) {
				System.out.println(line);
			}
		} catch (MalformedURLException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}

	}

	public static void main(String args[]) {
		requestInfo();
	}
分享到:
评论
3 楼 ccbobocat 2008-11-24  
我在运行第一个程序的时候,出现如下的错误。
请问该如何解决呢
---------- java ----------
java.io.IOException: Not in GZIP format
at java.util.zip.GZIPInputStream.readHeader(GZIPInputStream.java:132)
at java.util.zip.GZIPInputStream.<init>(GZIPInputStream.java:58)
at java.util.zip.GZIPInputStream.<init>(GZIPInputStream.java:68)
at ConnectTester.requestInfo(ConnectTester.java:12)
at ConnectTester.main(ConnectTester.java:27)
2 楼 zp0123 2008-07-11  
恩!  是的!
1 楼 ylangin 2008-07-09  
两种情况可以合并统一处理(另外使用了rome的库解析feed):

import com.sun.syndication.feed.synd.SyndFeed;
import com.sun.syndication.io.FeedException;
import com.sun.syndication.io.SyndFeedInput;
import com.sun.syndication.io.XmlReader;

///...
///...
	public static void requestInfo(URL url) throws IllegalArgumentException,
			FeedException {

		try {
			SyndFeedInput input = new SyndFeedInput();
			SyndFeed feed = null;

			URLConnection conn;
			conn = url.openConnection();
			String content_encoding = conn.getHeaderField("Content-Encoding");
			if (content_encoding != null && content_encoding.contains("gzip")) {
				System.out.println("conent encoding is gzip");
				GZIPInputStream gzin = new GZIPInputStream(conn
						.getInputStream());
				feed = input.build(new XmlReader(gzin));
			} else {
				feed = input.build(new XmlReader(conn.getInputStream()));
			}

			System.out.println("feed size:" + feed.getEntries().size());

		} catch (IOException e) {
			e.printStackTrace();
		}

	}

相关推荐

    java源码包---java 源码 大量 实例

     Java zip压缩包查看程序,应用弹出文件选择框,选择ZIP格式的压缩文件,可以像Winrar软件一样查看压缩文件内部的文件及文件夹,源码截图如上所示。 Java 数字签名、数字证书生成源码 2个目标文件 摘要:JAVA源码,...

    java源码包3

     Java zip压缩包查看程序,应用弹出文件选择框,选择ZIP格式的压缩文件,可以像Winrar软件一样查看压缩文件内部的文件及文件夹,源码截图如上所示。 Java 数字签名、数字证书生成源码 2个目标文件 摘要:JAVA源码...

    java源码包2

     Java zip压缩包查看程序,应用弹出文件选择框,选择ZIP格式的压缩文件,可以像Winrar软件一样查看压缩文件内部的文件及文件夹,源码截图如上所示。 Java 数字签名、数字证书生成源码 2个目标文件 摘要:JAVA源码...

    成百上千个Java 源码DEMO 4(1-4是独立压缩包)

    Java从网络取得文件 1个目标文件 简单 Java从压缩包中提取文件 1个目标文件 简单 Java存储与读取对象 1个目标文件 如题 Java调色板面板源代码 1个目标文件 摘要:Java源码,窗体界面,调色板 使用Java语言编写的一款...

    java源码包4

     Java zip压缩包查看程序,应用弹出文件选择框,选择ZIP格式的压缩文件,可以像Winrar软件一样查看压缩文件内部的文件及文件夹,源码截图如上所示。 Java 数字签名、数字证书生成源码 2个目标文件 摘要:JAVA源码...

    成百上千个Java 源码DEMO 3(1-4是独立压缩包)

    Java从网络取得文件 1个目标文件 简单 Java从压缩包中提取文件 1个目标文件 简单 Java存储与读取对象 1个目标文件 如题 Java调色板面板源代码 1个目标文件 摘要:Java源码,窗体界面,调色板 使用Java语言编写的一款...

    Spring Android Reference Manual

    - Android ROME FeedReader:用于读取RSS和Atom feeds。 2.6 使用示例 - **基本用法示例**:展示如何初始化RestTemplate并发送GET请求。 - **使用Gzip压缩**:演示如何启用响应的gzip压缩。 - **通过HTTP GET检索...

    【Java面试系列】Nginx.pdf

    gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript; } ``` ### 设定文件的浏览器缓存过期时间 设置文件的浏览器缓存过期...

    XML实用大全(1-18章)

    - Java的JAXB,用于Java对象和XML之间的绑定。 - .NET的LINQ to XML,提供强类型、直观的API来处理XML。 - Python的ElementTree,简化XML处理。 9. 安全性与性能优化 - XML实体攻击:防止恶意利用XML实体进行...

    5-NSD云计算王者荣耀-面试题参考.pdf

    8. **设置读取/etc/shadow文件的权限** - 方法一:使用`chmod`命令更改文件权限。 ```bash chmod 440 /etc/shadow ``` - 方法二:使用`setfacl`命令设置特定用户权限。 ```bash setfacl -u lisi:r /etc/...

Global site tag (gtag.js) - Google Analytics