[英]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
它是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.