假设 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
- java.lang.Object
-
- com.google.common.io.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 useURL
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 Summary
All MethodsStatic MethodsConcrete Methods
Modifier and Type Method and Description static ByteSource
asByteSource(URL url)
Returns aByteSource
that reads from the given URL.static CharSource
asCharSource(URL url, Charset charset)
Returns aCharSource
that reads from the given URL using the given character set.static void
copy(URL from, OutputStream to)
Copies all bytes from a URL to an output stream.static URL
getResource(Class<?> contextClass, String resourceName)
Given aresourceName
that is relative tocontextClass
, returns aURL
pointing to the named resource.static URL
getResource(String resourceName)
static List<String>
readLines(URL url, Charset charset)
Reads all of the lines from a URL.static <T> T
readLines(URL url, Charset charset, LineProcessor<T> callback)
Streams lines from a URL, stopping when our callback returns false, or we have read all of the lines.static byte[]
toByteArray(URL url)
Reads all bytes from a URL into a byte array.static String
toString(URL url, Charset charset)
Reads all characters from a URL into aString
, using the given character set.
-
-
-
Method Detail
-
asByteSource
public static ByteSource asByteSource(URL url)
Returns aByteSource
that reads from the given URL.- Since:
- 14.0
-
asCharSource
public static CharSource asCharSource(URL url, Charset charset)
Returns aCharSource
that reads from the given URL using the given character set.- Since:
- 14.0
-
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 aString
, using the given character set.- Parameters:
url
- the URL to read fromcharset
- the charset used to decode the input stream; seeCharsets
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 fromcharset
- the charset used to decode the input stream; seeCharsets
for helpful predefined constantscallback
- 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<String> readLines(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 anImmutableList
, useResources.asCharSource(url, charset).readLines()
.- Parameters:
url
- the URL to read fromcharset
- the charset used to decode the input stream; seeCharsets
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 fromto
- the output stream- Throws:
IOException
- if an I/O error occurs
-
getResource
public static URL getResource(String resourceName)
Returns aURL
pointing toresourceName
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 aresourceName
that is relative tocontextClass
, returns aURL
pointing to the named resource.- Throws:
IllegalArgumentException
- if the resource is not found
-
-
相关推荐
可读取复杂的csv文件,根据引号和逗号等分割读取所需要的数据信息。
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) reader里有个main函数,更改文件路径后,直接运行即可
guava 使用方法 教程
同时,文章还将介绍使用 Guava 和 Apache Commons IO 库来读取大文件的不同方法,并对比它们的内存占用情况。 知识点一:在内存中读取文件行的标准方式 * 使用 Guava 和 Apache Commons IO 库提供的方法读取文件行...
赠送jar包:guava-20.0.jar;...使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。
赠送jar包:guava-27.0.1-jre.jar;...使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。
赠送jar包:guava-17.0.jar;...使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。
Google Guava是一个比较有趣的框架,它提供了很多有趣的的功能, google Guava 给开发者提供了如下常用功能: 集合(collections) 缓存(caching) 原生的类型支持(primitives support) 并发类库(concurrency ...
赠送jar包:guava-23.0.jar;...使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。
用法使用@RunWith(GuavaClassPathSuite.class)注释。 可选 - 使用@ClassNamePredicate按类名过滤。 可选 - 使用@ClassPredicate按实例化类过滤。 请参阅示例 。相关项目原始 ClasspathSuite [ ] Taka
赠送jar包:guava-18.0.jar;...使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。
赠送jar包:guava-11.0.2.jar;...使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。
赠送jar包:guava-28.0-android.jar;...使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。
本教程将深入探讨Guava库中的核心特性和使用方法。 一、集合框架扩展 Guava提供了对Java集合框架的增强,包括新的集合类型如Multiset(多集)、Multimap(多映射)和Immutable集合(不可变集合)。这些集合类型...
在使用Guava时,需要将guava.jar添加到项目的类路径中,以便能够使用其中的类和方法。如果使用的是Maven或Gradle,可以通过添加对应的依赖来引入Guava库。 总的来说,Guava是一个非常强大的Java库,它提供了大量...
标题中的"guava-19.0.jar"是Guava库的19.0版本的二进制文件,包含了编译后的Java类,可以直接在项目中引用使用。这个版本的Guava提供了如ListMultimap、Table、Optional等数据结构,以及Preconditions、CheckState等...
谷歌的Guava库是Java开发中的一个非常重要的开源项目,它提供了一系列的高效、实用的工具类,大大简化了常见的编程任务。...在使用时,只需将此jar包添加到项目的类路径中,即可享受到Guava带来的便利。
赠送jar包:guava-30.0-jre.jar;...使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。
`guava-18.0.jar`是Guava库的编译后的二进制版本,包含了所有Guava类和方法的字节码,开发者可以直接在项目中引用这个JAR文件来使用Guava的功能。Guava 18.0版本包含了大量实用工具,例如: 1. **集合框架扩展**:...