今天刚好用到了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转换成输出流