目錄前言1.優化方式一:返回一個文件的絕對路徑1.1情況一1.2情況二2.優化方式二:返回一個InputStream字節輸入流3.優化方式三:java.util包下提供了一個資源綁定器… 原始的方式:寫相對路徑的話,無法跨編譯器;因爲不同的編譯器默認相對的路徑是不同的。 寫絕對路徑的話,無法跨平臺,因爲不同操作系統的文件規則是不一樣的,比如 Windows系統中的絕對路徑是帶盤符(D盤,C盤),Linux 系統中的文件規則是不帶盤符的。 當在J Windows 操作系統中編寫的絕對路徑的Java程序,移植到到 Linux 操作系統中就會報錯。
- 注意:優化方式三:不可以寫文件後綴名,直接寫文件名就可以了。
- 但是 優化方式三:只能獲取到 類路徑下的以.properties後綴的配置文件信息了。
- 上述 :優化方式1,優化方式2 可以動態獲取到 類路徑下的任意文件信息。
- 原始的方式:寫相對路徑的話,無法跨編譯器;因爲不同的編譯器默認相對的路徑是不同的。
- 接下來說一種比較通用的一種路徑:即使代碼android換位置了,這樣的代碼編寫的方式仍然是通用的。
所讀取的文件是直接存放在src的目錄下的,該文件的並沒有其它的的包。 在Windows中的話,就以該系統的文件規則,動態獲取到的絕對路徑是帶盤符的,而 Linux系統中就以該系統的文件規則,獲取到的絕對路徑是不帶盤符的。 接下來說一種比較通用的一種路徑:即使代碼android換位置了,這樣的代碼編寫的方式仍然是通用的。 如果在 src 目錄下的子目錄中的文件,需要指明是 src 下的哪個子目錄下的文件,同樣不要寫文件後綴名,不然報錯。 該資源綁定器:只能綁定xxx.properties配置文件 ,並且這個文件必須在 類路徑下,這裏的 IDEA 是 src 目錄下。 上述方式一:我們需要通過 :new 一個 FileInputStream 字節輸入流對象的方式,這裏我們直接通過指定的文件名的,直接返回一個 InputStream 字節輸入流 ,不需要 new 。
漁採的絕對: 優化方式二:返回一個 InputStream 字節輸http://www.cppcns.com入流
GetResource() 獲取資源:這是類加載器對象的方法,當前線程的類加載器默認從類的根路徑下加載資源。 漁採的絕對 靠在一起的幾家都得了消息,陸家的小四是賣了葦葉的銀錢買的豬大腸,聽說還買了豬腳和大骨頭,說是要燉湯給邱氏喫了下奶。
上述這種方式:如果我們不寫相對路徑,而是寫絕對路徑的話,也是存在一個問題的。 注意:優化方式三:不可以寫文件後綴名,直接寫文件名就可以了。 因爲資源綁定器,就只能綁定xxx.properties配置文件 ,並且這個文件必須在 類路徑下。 上述的三種優化方式,都是動態獲取絕對路徑的,但是都是基於類路徑下的文件纔行的,不同所讀取的文件不在 漁採的絕對2025 類路徑下 是無法動態獲取到對應絕對路徑的。 // 獲取到該配置文件的的絕對路徑,如下src目錄下還有目錄(包),需要指定 src目錄下/包下的哪個文件。
漁採的絕對: 漁採的絕對界線
上述的讀取文件的方式,我們可以看到是 “完全沒有問題的” 可以讀取到對應的配置信息,但是存在一個缺點:就是移除性差。 漁採的絕對 Src中是在IDEA這個編譯器中體現的,如果是在其它的編譯器中運行的時候,很大的可能會報錯,原因是:這裏我們使用的相對路徑是,在IDEA中的,IDEA 中的默認相對路徑是 漁採的絕對2025 在project下的也就是 src 的同級目錄。 漁採的絕對 但是其它的系統,或者編譯器就可能不是這個和 IDEA 中默認相對路徑了。 上述 :優化方式1,優化方式2 可以動態獲取到 類路徑下的任意文件信息。 但是 優化方式三:只能獲取到 類路徑下的以.properties後綴的配置文件信息了。