假設我有一個URL: http://java.sun.com/j2se/1.5/pdf
我想要獲得pdf目錄下所有文件/目錄的列表。我正在使用java 5. 我可以通過此程序獲得dir的列表http://www.httrack.com/。但用java我不知道是否有可能。如何在java中獲取目錄url的文件/目錄列表?
是否有任何機構知道如何在java中獲取它或者該程序如何執行java不能做的工作?
假設我有一個URL: http://java.sun.com/j2se/1.5/pdf
我想要獲得pdf目錄下所有文件/目錄的列表。我正在使用java 5. 我可以通過此程序獲得dir的列表http://www.httrack.com/。但用java我不知道是否有可能。如何在java中獲取目錄url的文件/目錄列表?
是否有任何機構知道如何在java中獲取它或者該程序如何執行java不能做的工作?
有一些條件:
解析可以使用像JSoup這樣的庫很容易地完成。
例如,使用JSoup你可以獲取在網址http://howto.unixdev.net/
像這樣的文件:
import java.io.IOException;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
public class Sample {
public static void main(String[] args) throws IOException {
Document doc = Jsoup.connect("http://howto.unixdev.net").get();
for (Element file : doc.select("td.right td a")) {
System.out.println(file.attr("href"));
}
}
}
將輸出:
beignets.html
beignets.pdf
bsd-pam-ldap.html
ddns-updates.html
Debian_on_HP_dv6z.html
dextop-slackware.html
dirlist.html
downloads/
ldif/
Linux-SharePoint.html
rhfc3-apt.html
rhfc3-apt.tar.bz2
SUNWdsee-Debian.html
SUNWdtdte-b69.html
SUNWdtdte-b69.tar.bz2
tcshrc.html
Test_LVM_Trim_Ext4.html
Tru64-CS20-HOWTO.html
至於你的樣品網址http://java.sun.com/j2se/1.5/pdf
這是不是發現了一個網頁,所以我覺得你運氣不好。
我可以用此程序http://www.httrack.com/目錄列表。 我認爲一定有辦法用java來做到這一點 – itro 2012-07-20 08:35:10
如果URL用於文件:協議,那麼您可以將其轉換爲java.io.File
,然後使用這些方法列出目錄。
如果URL用於http:協議,那麼就沒有文件目錄的概念,並且基本上不能做你認爲你想做的事情。您將不得不退後一步,看看您嘗試實現的更高級別的要求。
在您的服務器部署一個Servlet來從它接收到的請求中指定的文件夾中檢索文件的列表。在您的客戶端,您的應用程序通過提供您打算列出的路徑(虛擬?相對?)向服務器發送請求。 servlet
將返回從服務器操作系統檢索到的請求路徑中的文件列表。然後,它將文件列表序列化到客戶端端點以供進一步處理。
如果你能渲染HTTP訪問才把頁:
使用HTML網頁並解析它讓目錄列表以獲得使用正則表達式來渲染文件名的文件和即-A-即列表。
你知道你會做出什麼樣的HTTP請求來獲取它們呢?你知道目標HTTP服務器是否支持目錄列表嗎? – wrschneider 2012-07-19 13:13:03
我有關於服務器和HTTP請求沒有太多的信息,我有什麼的唯一事情就是像上面提到的URL。 – itro 2012-07-20 08:41:11