Guava原始碼閱讀之Resources
阿新 • • 發佈:2018-12-20
今天剛好用到了Resources來讀日誌檔案,研究一下;
Resources是 goole io工具包下的一個類, com.google.common.io.Resources;
該類有兩個註解:
@Beta @GwtIncompatible
查了一下:
@Beta
表明一個公用API的未來版本是受不相容變更或刪除限制的
* 擁有這個註釋標誌的API不受任何相容性保證
@GwtIncompatible
* 說明一個方法可能無法與 GWT 一起使用
* 他只能用於被 @GwtCompatible標誌的類的欄位,方法和內部類
聊聊Resources類中的方法:
先說最常用的兩個:
public static URL getResource(String resourceName) public static URL getResource(Class<?> contextClass, String resourceName)
這兩個方法很類似,最常用的是第一個,
兩個方法都是基於類載入器,
返回檔名為resourceName的路徑。
/*第二個與第一個的區別就是第一個是絕對地址,第二個是相對於傳入class的相對地址 通過文件的理解,自己test好像有問題,待解決 */
public static ByteSource asByteSource(URL url) public static CharSource asCharSource(URL url, Charset charset) public static byte[] toByteArray(URL url)
public static String toString(URL url, Charset charset) throws IOException
前幾個靜態方法類似,都是進行型別轉換,把檔案轉換成相應的型別
public static List<String> readLines(URL url, Charset charset) throws IOException
讀取檔案的所有行,指定字符集
public static <T> T readLines(URL url, Charset charset, LineProcessor<T> callback) throws IOException
從URL中讀取行,當回撥返回false時停止,或者我們已經讀取了所有的行。
public static void copy(URL from, OutputStream to) throws IOException )
將URL轉換成輸出流