2010-06-02 82 views
0

嗨...如何從java文件服務器訪問目錄?

目前我在一個應用程序允許從文件服務器到應用程序(客戶端)訪問目錄(其中包含一些文件)的應用程序工作。

我嘗試下面的代碼..

URL url=("http://192.168.5.555/file-server/user/images/"); 
URI uri=url.toURI(); 
File list[]; 

list= new File(uri).listFiles(); 

但它拋出java.lang.IllegalArgumentException例外。

我不知道這是怎麼發生的?

我只是從給定的URL(文件服務器)訪問圖像目錄。

幫我...

+0

什麼樣的文件服務器?它是FTP嗎?如果它只是一個http服務器,它可能沒有索引打開,因此無法獲取文件列表。即使他們確實開啓了索引,我也不知道是否有類似目錄的訪問的標準協議。您可能需要閱讀索引文件並自行解析。 – Pace 2010-06-02 13:17:47

回答

1

這是行不通的。 java.io.File僅在本地磁盤文件系統上操作,即僅在從file://開始的URI上操作。否則確實會很容易從你不允許的地方汲取文件。

檢查有問題的服務器是否支持FTP,那麼您只需使用FTPClient#listFiles()即可。如果不支持,但它支持目錄列表,則需要使用HTML解析器(如Jsoup)解析包含目錄列表的HTML響應,然後在每個找到的鏈接上重新請求一個新請求。

如果它不支持FTP或目錄列表,那麼你迷路了,你可能試圖做壞事。