最近在看RSS相關的內容,想用Java實作一個RSS訂閱的功能,程式碼還是比較簡單的,只需要度頻道xml後再用其他格式解析即可。但注意需指定編碼格式,否則會亂碼。
package com.cyz; import java.io.BufferedInputStream; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.Reader; import java.net.URL; import java.net.URLConnection; public class TestURL { public static void main(String[] args) throws IOException { // test4(); // test3(); test2(); // test(); } /** * 获取URL指定的资源。 * * @throws IOException */ public static void test4() throws IOException { URL url = new URL("http://rss.mydrivers.com/rss.aspx?Tid=1"); // 获得此 URL 的内容。 Object obj = url.getContent(); System.out.println(obj.getClass().getName()); } /** * 获取URL指定的资源 * * @throws IOException */ public static void test3() throws IOException { URL url = new URL("http://rss.mydrivers.com/rss.aspx?Tid=1"); // 返回一个 URLConnection 对象,它表示到 URL 所引用的远程对象的连接。 URLConnection uc = url.openConnection(); // 打开的连接读取的输入流。 InputStream in = uc.getInputStream(); int c; while ((c = in.read()) != -1) System.out.print(c); in.close(); } /** * 读取URL指定的网页内容 * * @throws IOException */ public static void test2() throws IOException { URL url = new URL("http://rss.mydrivers.com/rss.aspx?Tid=1"); // 打开到此 URL 的连接并返回一个用于从该连接读入的 InputStream。 Reader reader = new InputStreamReader(new BufferedInputStream(url.openStream()), "UTF-8"); int c; while ((c = reader.read()) != -1) { System.out.print((char) c); } reader.close(); } /** * 获取URL的输入流,并输出 * * @throws IOException */ public static void test() throws IOException { URL url = new URL("http://rss.mydrivers.com/rss.aspx?Tid=1"); // 打开到此 URL 的连接并返回一个用于从该连接读入的 InputStream。 InputStream in = url.openStream(); int c; while ((c = in.read()) != -1) System.out.print(c); in.close(); } }
以上是四種取得RSS來源xml檔案的方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!