2012-10-18 105 views
-2

我想確定給定的文件路徑字符串是遠程還是本地。確定給定的文件路徑字符串是遠程還是本地

我已經看過幾個java的實例建議使用以下

  1. 文件存儲API,它是在JDK7可用,但我使用JDK6
  2. 確定通過搜索「WWW」或「使用正則表達式HTTP 」。

請問我是否有更好的解決方法。

LocalFilePath:

C:/dir1/dir2/file.xml

RemoteFilePath:

HTTPS:///dir1/dir2/file.xml

更具體,鑑於DNSName,是否有可能找出file.xml是在遠程還是本地機器上。我知道我們可以通過INetAddress使用HostName(Ex:Saturn)來解決它。 如果我們可以使用DNS名稱(例如:Saturn.rev.com)來確定它,請讓我知道嗎?

+2

你能提供一個你認爲是本地還是刪除文件的例子嗎? –

+0

如果路徑是到網絡文件系統的符號鏈接會怎麼樣?礦石只是試圖說明HTTP URL(當然可能是本地的,例如'http:// localhost /')和文件URL之間的區別? – DNA

回答

0

您可以嘗試訪問帶有java.io.File實例的文件,然後如果不拋出異常就是本地文件。

+1

這是不正確的 - 除非你認爲'本地'包括映射的驅動器等(不是你的問題,給出的問題是含糊不清的)。 – user1701047

+1

還取決於該文件是否預計實際存在但是 - 這在問題中沒有說明。權限也可能是一個問題。 – DNA

+0

是的。模糊性讓我做出令人難以置信的瘋狂的假設,即任何可以通過file:///訪問的內容都是「本地」。我認爲提問者將或多或少與查找文件的標準綁定:/// url :, ftp :,等所有常見的預路徑信號,並根據它進行匹配。 – user1701047

相關問題