簡體   English   中英

javafx-文件的URI和absolutepath之間的區別

[英]javafx- difference between URI and absolutepath for a file

我想為javafx中的Image URL使用絕對路徑。 給了我一個辦法。

File file = new File(System.getProperty ("user.dir")+ "\\profile" + "\\chat3.png");
    System.out.println(file);
    System.out.println(file.toURI().toURL().toExternalForm());

這些代碼生成以下輸出:

C:\\ Users \\ myUsername \\ Downloads \\ Compressed \\ 15Dec \\ profile \\ chat3.png文件:/ C:/Users/myUsername/Downloads/Compressed/15Dec/profile/chat3.png

這兩行有什么區別?

file.toURI()處理特殊字符轉換,因此通常調用file.toURI()。toURL()是一個更好的選擇,因為它將例如將空格轉換為%20,例如,如果文件名是“聊天版本3” .png”轉換為:

文件:/ C:/Users/myUsername/Downloads/Compressed/15Dec/profile/chat%20version3.png

這兩行都指向同一個資源文件,只是使用不同的語法。

C:\\ Users \\ myUsername \\ Downloads \\ Compressed \\ 15Dec \\ profile \\ chat3.png

MS-DOS樣式的文件路徑

它是Windows用於標識文件位置的語法。 其他操作系統將使用不同的格式(例如Unix使用正斜杠而不是反斜杠)。

文件:/ C:/Users/myUsername/Downloads/Compressed/15Dec/profile/chat3.png

統一資源標識符(URI) 它符合用於標識資源的標准語法 URI是一種標准格式,並不特定於給定的操作系統(它將始終使用正斜杠)。

在這種情況下,URI類型是統一資源定位符(URL),用於標識在提供的路徑上通過文件協議訪問的資源。 URI的語法為:

方案:[// [用戶:密碼@]主機[:端口]] [/]路徑[?查詢] [#fragment]

要了解更多信息,請閱讀鏈接的文章。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM