2012-07-27 22 views
1

簡單問題:爲什麼我會收到new IllegalArgumentException: Path component should be '/'試圖建立在以下URI一個zip文件系統時:也不太清楚如何URI工作有關的絕對路徑文件

文件:E:/ somedirectory/somefile

但這似乎工作:文件:/ somedirectory/somefile

如果我有兩個不同的驅動器相同的路徑,我需要訪問特定的一個?或者我完全錯過了URI的重點?

回答

1

對於使用量使用以下格式窗口路徑:

file:///e:/somedirectory/somefile 

三元組///由於省略了本地文件的URL爲主機名爲。比較:file://sometherhost/e:/somedirectory/somefile,根據URI規範有效,如果對訪問遠程捲上的文件沒有實際用處。

+0

需要注意的是,具有主機名的'file://'URI根據規範是有效的,但沒有指定的訪問方式,所以它們非常用於信息使用,而不是實際*訪問*那些(遠程)文件。 – 2012-07-27 07:09:20

0

中的反斜槓被用來指向的目錄和文件

2.試試這樣...

  `E:\\somedirectory\\somefile` 
0

也許使用URI構建器更容易。我一直用它:

URIBuilder builder = new URIBuilder(); 
builder.setSchema("file").setHost("anyhost").setPath("/yourpath/"); 
URI uri; 
uri = builder.build(); 

你可以檢查你的URI:

System.out.println(uri.toString()); 

我希望這會幫助你!

+0

這個班級從哪裏來?我無法在任何地方找到它。 – rtheunissen 2012-07-27 08:39:49

+0

URIBuilder是.NET的一部分。這個問題是關於java – pb2q 2012-07-29 22:40:49

+0

我在java項目中使用了上面的代碼;-)這是我必須導入org.apache.http.client.utils.URIBuilder的包。我不知道,我下載了它,對不起。但它肯定是java代碼 – 2012-07-30 14:22:32

相關問題