2011-08-30 39 views
0

下面是Jython代碼(雖然這可能不是一個Jython的具體問題)後...的Java IO FileNotFoundException異常轉換文件名的toURL()

file_name = "Manifest.ttl" 
file_url = File(file_name).toURL() 
f = File(file_url.toString()) 

java.io.FileNotFoundException:JAVA。 io.FileNotFoundException: 文件:/home/james/projects/wordnet/wordnet30/rdf/Manifest.ttl(沒有這樣的 文件或目錄)

+1

該文件是否在該位置?我會假設沒有。它實際上在哪裏? – adarshr

+0

是 - toURL()方法根據文件名將其轉換爲完整路徑。 – espeed

回答

2

Javadoc救援:

由給定路徑名字符串轉換 成一個抽象路徑名來創建一個新File實例。如果給定字符串是空字符串, 那麼結果是空抽象路徑名。

參數: 路徑 - 一個路徑名字符串

文件構造函數採用抽象路徑名作爲參數,而不是一個URL的的toString表示。

此外,toURL已被棄用。您可以使用toURI,並使用此URI重建文件。

0

的toURL()將文件://前綴,一個正確的URL/URI需要。很明顯,File構造函數不會檢查和刪除這個前綴,所以它正在尋找一個名爲「file:// ...」的文件,而不是你希望它看起來「/ home/james/...」的文件。

+0

謝謝。我正在另一個錯誤由RDF庫有關文件是無效的網址,所以我試圖給它一個合法的URL。 – espeed