`
kanpiaoxue
  • 浏览: 1782104 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

Guava(Resources用法) 读取 classpath 中的文件、读取HTTP

 
阅读更多

 

假设 classpath 中有个文件是: hello.txt

guava 读取其中的文件内容:

URL url = Resources.getResource("hello.txt");
List<String> lines = Resources.asCharSource(url, Charsets.UTF_8).readLines();

 读取 http://www.iteye.com/ 的内容:

URL url = new URL("http://www.iteye.com/");
List<String> lines = Resources.asCharSource(url, Charsets.UTF_8).readLines();

 

 

下面是 Guava 中Resources的官网 API。

==============

 

com.google.common.io

Class Resources



  • @Beta
     @GwtIncompatible
    public final class Resources
    extends Object
    Provides utility methods for working with resources in the classpath. Note that even though these methods use URL parameters, they are usually not appropriate for HTTP or other non-classpath resources.

    All method parameters must be non-null unless documented otherwise.

    Since:
    1.0
    Author:
    Chris Nokleberg, Ben Yu, Colin Decker
    • Method Detail

      • toByteArray

        public static byte[] toByteArray(URL url)
                                  throws IOException
        Reads all bytes from a URL into a byte array.
        Parameters:
        url - the URL to read from
        Returns:
        a byte array containing all the bytes from the URL
        Throws:
        IOException - if an I/O error occurs
      • toString

        public static String toString(URL url,
                                      Charset charset)
                               throws IOException
        Reads all characters from a URL into a String, using the given character set.
        Parameters:
        url - the URL to read from
        charset - the charset used to decode the input stream; see Charsets for helpful predefined constants
        Returns:
        a string containing all the characters from the URL
        Throws:
        IOException - if an I/O error occurs.
      • readLines

        public static <T> T readLines(URL url,
                                      Charset charset,
                                      LineProcessor<T> callback)
                               throws IOException
        Streams lines from a URL, stopping when our callback returns false, or we have read all of the lines.
        Parameters:
        url - the URL to read from
        charset - the charset used to decode the input stream; see Charsets for helpful predefined constants
        callback - the LineProcessor to use to handle the lines
        Returns:
        the output of processing the lines
        Throws:
        IOException - if an I/O error occurs
      • readLines

        public static List<StringreadLines(URL url,
                                             Charset charset)
                                      throws IOException
        Reads all of the lines from a URL. The lines do not include line-termination characters, but do include other leading and trailing whitespace.

        This method returns a mutable List. For an ImmutableList, use Resources.asCharSource(url, charset).readLines().

        Parameters:
        url - the URL to read from
        charset - the charset used to decode the input stream; see Charsets for helpful predefined constants
        Returns:
        a mutable List containing all the lines
        Throws:
        IOException - if an I/O error occurs
      • copy

        public static void copy(URL from,
                                OutputStream to)
                         throws IOException
        Copies all bytes from a URL to an output stream.
        Parameters:
        from - the URL to read from
        to - the output stream
        Throws:
        IOException - if an I/O error occurs
      • getResource

        public static URL getResource(String resourceName)
        Returns a URL pointing to resourceName if the resource is found using the context class loader. In simple environments, the context class loader will find resources from the class path. In environments where different threads can have different class loaders, for example app servers, the context class loader will typically have been set to an appropriate loader for the current thread.

        In the unusual case where the context class loader is null, the class loader that loaded this class (Resources) will be used instead.

        Throws:
        IllegalArgumentException - if the resource is not found
      • getResource

        public static URL getResource(Class<?> contextClass,
                                      String resourceName)
        Given a resourceName that is relative to contextClass, returns a URL pointing to the named resource.
        Throws:
        IllegalArgumentException - if the resource is not found
分享到:
评论

相关推荐

    java分割读取csv文件内容可根据逗号引号来切割读取

    可读取复杂的csv文件,根据引号和逗号等分割读取所需要的数据信息。

    java读取配置文件

    Java NIO(New IO)提供了非阻塞的I/O操作,可以更高效地处理文件读取: ```java Path path = Paths.get("config.properties"); Properties props = new Properties(); try (InputStream in = Files....

    NIO_RandomAccessFile_多线程_按行读本地CSV文件(java==> google guava包ListenableFuture)

    NIO_RandomAccessFile_多线程读本地CSV文件(java==&gt; google guava包ListenableFuture) reader里有个main函数,更改文件路径后,直接运行即可

    guava使用方法教程

    guava 使用方法 教程

    JAVA高效读取大文件[参考].pdf

    同时,文章还将介绍使用 Guava 和 Apache Commons IO 库来读取大文件的不同方法,并对比它们的内存占用情况。 知识点一:在内存中读取文件行的标准方式 * 使用 Guava 和 Apache Commons IO 库提供的方法读取文件行...

    guava-20.0-API文档-中文版.zip

    赠送jar包:guava-20.0.jar;...使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。

    guava-17.0-API文档-中文版.zip

    赠送jar包:guava-17.0.jar;...使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。

    guava-27.0.1-jre-API文档-中文版.zip

    赠送jar包:guava-27.0.1-jre.jar;...使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。

    Guava官方教程-中文

    Google Guava是一个比较有趣的框架,它提供了很多有趣的的功能, google Guava 给开发者提供了如下常用功能: 集合(collections) 缓存(caching) 原生的类型支持(primitives support) 并发类库(concurrency ...

    guava-23.0-API文档-中文版.zip

    赠送jar包:guava-23.0.jar;...使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。

    gcpsuite:JUnit Guava ClassPath 套件

    用法使用@RunWith(GuavaClassPathSuite.class)注释。 可选 - 使用@ClassNamePredicate按类名过滤。 可选 - 使用@ClassPredicate按实例化类过滤。 请参阅示例 。相关项目原始 ClasspathSuite [ ] Taka

    guava-18.0-API文档-中文版.zip

    赠送jar包:guava-18.0.jar;...使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。

    guava-11.0.2-API文档-中文版.zip

    赠送jar包:guava-11.0.2.jar;...使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。

    guava-28.0-android-API文档-中文版.zip

    赠送jar包:guava-28.0-android.jar;...使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。

    google guava 中文教程

    本教程将深入探讨Guava库中的核心特性和使用方法。 一、集合框架扩展 Guava提供了对Java集合框架的增强,包括新的集合类型如Multiset(多集)、Multimap(多映射)和Immutable集合(不可变集合)。这些集合类型...

    guava-23.0.zip guava.jar guava

    在使用Guava时,需要将guava.jar添加到项目的类路径中,以便能够使用其中的类和方法。如果使用的是Maven或Gradle,可以通过添加对应的依赖来引入Guava库。 总的来说,Guava是一个非常强大的Java库,它提供了大量...

    guava-19.0 jar和sources

    标题中的"guava-19.0.jar"是Guava库的19.0版本的二进制文件,包含了编译后的Java类,可以直接在项目中引用使用。这个版本的Guava提供了如ListMultimap、Table、Optional等数据结构,以及Preconditions、CheckState等...

    google开源项目guava.jar包

    谷歌的Guava库是Java开发中的一个非常重要的开源项目,它提供了一系列的高效、实用的工具类,大大简化了常见的编程任务。...在使用时,只需将此jar包添加到项目的类路径中,即可享受到Guava带来的便利。

    guava-30.0-jre-API文档-中文版.zip

    赠送jar包:guava-30.0-jre.jar;...使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。

    guava-18.0(guava-18.0.jar和guava-18.0-sources.jar)

    `guava-18.0.jar`是Guava库的编译后的二进制版本,包含了所有Guava类和方法的字节码,开发者可以直接在项目中引用这个JAR文件来使用Guava的功能。Guava 18.0版本包含了大量实用工具,例如: 1. **集合框架扩展**:...

Global site tag (gtag.js) - Google Analytics