## com.google.common.io
Class Resources

    java.lang.Object
      com.google.common.io.Resources

    @Beta
    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

Method Summary
`static void` `copy(URL from, OutputStream to)` Copies all bytes from a URL to an output stream.
`static URL` `getResource(Class<?> contextClass, String resourceName)` Returns a `URL` pointing to `resourceName` that is relative to `contextClass`, if the resource is found in the class path.
`static URL` `getResource(String resourceName)` Returns a `URL` pointing to `resourceName` if the resource is found in the class path.
`static InputSupplier<InputStream>` `newInputStreamSupplier(URL url)` Returns a factory that will supply instances of `InputStream` that read from the given URL.
`static InputSupplier<InputStreamReader>` `newReaderSupplier(URL url, Charset charset)` Returns a factory that will supply instances of `InputStreamReader` that read a URL using the given character set.
`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 a `String`, using the given character set.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Method Detail

### newInputStreamSupplier

    public static InputSupplier<InputStream> newInputStreamSupplier(URL url)

  Returns a factory that will supply instances of `InputStream` that read from the given URL.

  Parameters:
    `url` - the URL to read from
  Returns:
    the factory

### newReaderSupplier

    public static InputSupplier<InputStreamReader> newReaderSupplier(URL url,
                                                                     Charset charset)

  Returns a factory that will supply instances of `InputStreamReader` that read a URL 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:
    the factory

### 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<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.

  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 in the class path. `Resources.class.getClassLoader()` is used to locate the resource.

  Throws:
    `IllegalArgumentException` - if resource is not found

### getResource

    public static URL getResource(Class<?> contextClass,
                                  String resourceName)

  Returns a `URL` pointing to `resourceName` that is relative to `contextClass`, if the resource is found in the class path.

  Throws:
    `IllegalArgumentException` - if resource is not found

Copyright © 2010-2012. All Rights Reserved.