Guava源码阅读之Resources

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

猜你喜欢

转载自blog.csdn.net/w535921917/article/details/84930106
今日推荐