Overview | Package | Class | Tree | Deprecated | Index | Help
| Spring Framework
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.springframework.util
Class ResourceUtils

    java.lang.Object
      org.springframework.util.ResourceUtils

    public abstract class ResourceUtils

extends java.lang.Object

Utility methods for resolving resource locations to files in the file system. Mainly for internal use within the framework.

Consider using Spring's Resource abstraction in the core package for handling all kinds of file resources in a uniform manner. `ResourceLoader`'s `getResource` method can resolve any location to a `Resource` object, which in turn allows to obtain a `java.io.File` in the file system through its `getFile()` method.

The main reason for these utility methods for resource location handling is to support `Log4jConfigurer`, which must be able to resolve resource locations before the logging system has been initialized. Spring' Resource abstraction in the core package, on the other hand, already expects the logging system to be available.

Since:
  1.1.5
Author:
  Juergen Hoeller
See Also:
  `Resource`, `ClassPathResource`, `FileSystemResource`, `UrlResource`, `ResourceLoader`

Field Summary
`static java.lang.String` | `CLASSPATH_URL_PREFIX` Pseudo URL prefix for loading from the class path: "classpath:"
`static java.lang.String` | `FILE_URL_PREFIX` URL prefix for loading from the file system: "file:"
`static java.lang.String` | `JAR_URL_SEPARATOR` Separator between JAR URL and file path within the JAR
`static java.lang.String` | `URL_PROTOCOL_CODE_SOURCE` URL protocol for an entry from an OC4J jar file: "code-source"
`static java.lang.String` | `URL_PROTOCOL_FILE` URL protocol for a file in the file system: "file"
`static java.lang.String` | `URL_PROTOCOL_JAR` URL protocol for an entry from a jar file: "jar"
`static java.lang.String` | `URL_PROTOCOL_VFS` URL protocol for a JBoss VFS resource: "vfs"
`static java.lang.String` | `URL_PROTOCOL_VFSZIP` URL protocol for an entry from a JBoss jar file: "vfszip"
`static java.lang.String` | `URL_PROTOCOL_WSJAR` URL protocol for an entry from a WebSphere jar file: "wsjar"
`static java.lang.String` | `URL_PROTOCOL_ZIP` URL protocol for an entry from a zip file: "zip"

Constructor Summary
`ResourceUtils()`

Method Summary
`static java.net.URL` | `extractJarFileURL(java.net.URL jarUrl)` Extract the URL for the actual jar file from the given URL (which may point to a resource in a jar file or to a jar file itself).
`static java.io.File` | `getFile(java.lang.String resourceLocation)` Resolve the given resource location to a `java.io.File`, i.e.
`static java.io.File` | `getFile(java.net.URI resourceUri)` Resolve the given resource URI to a `java.io.File`, i.e.
`static java.io.File` | `getFile(java.net.URI resourceUri, java.lang.String description)` Resolve the given resource URI to a `java.io.File`, i.e.
`static java.io.File` | `getFile(java.net.URL resourceUrl)` Resolve the given resource URL to a `java.io.File`, i.e.
`static java.io.File` | `getFile(java.net.URL resourceUrl, java.lang.String description)` Resolve the given resource URL to a `java.io.File`, i.e.
`static java.net.URL` | `getURL(java.lang.String resourceLocation)` Resolve the given resource location to a `java.net.URL`.
`static boolean` | `isFileURL(java.net.URL url)` Determine whether the given URL points to a resource in the file system, that is, has protocol "file" or "vfs".
`static boolean` | `isJarURL(java.net.URL url)` Determine whether the given URL points to a resource in a jar file, that is, has protocol "jar", "zip", "wsjar" or "code-source".
`static boolean` | `isUrl(java.lang.String resourceLocation)` Return whether the given resource location is a URL: either a special "classpath" pseudo URL or a standard URL.
`static java.net.URI` | `toURI(java.lang.String location)` Create a URI instance for the given location String, replacing spaces with "%20" quotes first.
`static java.net.URI` | `toURI(java.net.URL url)` Create a URI instance for the given URL, replacing spaces with "%20" quotes first.
`static void` | `useCachesIfNecessary(java.net.URLConnection con)` Set the `"useCaches"` flag on the given connection, preferring `false` but leaving the flag at `true` for JNLP based resources.

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

Field Detail

### CLASSPATH_URL_PREFIX

    public static final java.lang.String CLASSPATH_URL_PREFIX

  Pseudo URL prefix for loading from the class path: "classpath:"

  See Also:
    Constant Field Values

### FILE_URL_PREFIX

    public static final java.lang.String FILE_URL_PREFIX

  URL prefix for loading from the file system: "file:"

  See Also:
    Constant Field Values

### URL_PROTOCOL_FILE

    public static final java.lang.String URL_PROTOCOL_FILE

  URL protocol for a file in the file system: "file"

  See Also:
    Constant Field Values

### URL_PROTOCOL_JAR

    public static final java.lang.String URL_PROTOCOL_JAR

  URL protocol for an entry from a jar file: "jar"

  See Also:
    Constant Field Values

### URL_PROTOCOL_ZIP

    public static final java.lang.String URL_PROTOCOL_ZIP

  URL protocol for an entry from a zip file: "zip"

  See Also:
    Constant Field Values

### URL_PROTOCOL_VFSZIP

    public static final java.lang.String URL_PROTOCOL_VFSZIP

  URL protocol for an entry from a JBoss jar file: "vfszip"

  See Also:
    Constant Field Values

### URL_PROTOCOL_VFS

    public static final java.lang.String URL_PROTOCOL_VFS

  URL protocol for a JBoss VFS resource: "vfs"

  See Also:
    Constant Field Values

### URL_PROTOCOL_WSJAR

    public static final java.lang.String URL_PROTOCOL_WSJAR

  URL protocol for an entry from a WebSphere jar file: "wsjar"

  See Also:
    Constant Field Values

### URL_PROTOCOL_CODE_SOURCE

    public static final java.lang.String URL_PROTOCOL_CODE_SOURCE

  URL protocol for an entry from an OC4J jar file: "code-source"

  See Also:
    Constant Field Values

### JAR_URL_SEPARATOR

    public static final java.lang.String JAR_URL_SEPARATOR

  Separator between JAR URL and file path within the JAR

  See Also:
    Constant Field Values

Constructor Detail

### ResourceUtils

    public ResourceUtils()

Method Detail

### isUrl

    public static boolean isUrl(java.lang.String resourceLocation)

  Return whether the given resource location is a URL: either a special "classpath" pseudo URL or a standard URL.

  Parameters:
    `resourceLocation` - the location String to check
  Returns:
    whether the location qualifies as a URL
  See Also:
    `CLASSPATH_URL_PREFIX`, `URL`

### getURL

    public static java.net.URL getURL(java.lang.String resourceLocation)
                               throws java.io.FileNotFoundException

  Resolve the given resource location to a `java.net.URL`.

  Does not check whether the URL actually exists; simply returns the URL that the given location would correspond to.

  Parameters:
    `resourceLocation` - the resource location to resolve: either a "classpath:" pseudo URL, a "file:" URL, or a plain file path
  Returns:
    a corresponding URL object
  Throws:
    `java.io.FileNotFoundException` - if the resource cannot be resolved to a URL

### getFile

    public static java.io.File getFile(java.lang.String resourceLocation)
                                throws java.io.FileNotFoundException

  Resolve the given resource location to a `java.io.File`, i.e. to a file in the file system.

  Does not check whether the fil actually exists; simply returns the File that the given location would correspond to.

  Parameters:
    `resourceLocation` - the resource location to resolve: either a "classpath:" pseudo URL, a "file:" URL, or a plain file path
  Returns:
    a corresponding File object
  Throws:
    `java.io.FileNotFoundException` - if the resource cannot be resolved to a file in the file system

### getFile

    public static java.io.File getFile(java.net.URL resourceUrl)
                                throws java.io.FileNotFoundException

  Resolve the given resource URL to a `java.io.File`, i.e. to a file in the file system.

  Parameters:
    `resourceUrl` - the resource URL to resolve
  Returns:
    a corresponding File object
  Throws:
    `java.io.FileNotFoundException` - if the URL cannot be resolved to a file in the file system

### getFile

    public static java.io.File getFile(java.net.URL resourceUrl,
                                       java.lang.String description)
                                throws java.io.FileNotFoundException

  Resolve the given resource URL to a `java.io.File`, i.e. to a file in the file system.

  Parameters:
    `resourceUrl` - the resource URL to resolve
    `description` - a description of the original resource that the URL was created for (for example, a class path location)
  Returns:
    a corresponding File object
  Throws:
    `java.io.FileNotFoundException` - if the URL cannot be resolved to a file in the file system

### getFile

    public static java.io.File getFile(java.net.URI resourceUri)
                                throws java.io.FileNotFoundException

  Resolve the given resource URI to a `java.io.File`, i.e. to a file in the file system.

  Parameters:
    `resourceUri` - the resource URI to resolve
  Returns:
    a corresponding File object
  Throws:
    `java.io.FileNotFoundException` - if the URL cannot be resolved to a file in the file system

### getFile

    public static java.io.File getFile(java.net.URI resourceUri,
                                       java.lang.String description)
                                throws java.io.FileNotFoundException

  Resolve the given resource URI to a `java.io.File`, i.e. to a file in the file system.

  Parameters:
    `resourceUri` - the resource URI to resolve
    `description` - a description of the original resource that the URI was created for (for example, a class path location)
  Returns:
    a corresponding File object
  Throws:
    `java.io.FileNotFoundException` - if the URL cannot be resolved to a file in the file system

### isFileURL

    public static boolean isFileURL(java.net.URL url)

  Determine whether the given URL points to a resource in the file system, that is, has protocol "file" or "vfs".

  Parameters:
    `url` - the URL to check
  Returns:
    whether the URL has been identified as a file system URL

### isJarURL

    public static boolean isJarURL(java.net.URL url)

  Determine whether the given URL points to a resource in a jar file, that is, has protocol "jar", "zip", "wsjar" or "code-source".

  "zip" and "wsjar" are used by BEA WebLogic Server and IBM WebSphere, respectively, but can be treated like jar files. The same applies to "code-source" URLs on Oracle OC4J, provided that the path contains a jar separator.

  Parameters:
    `url` - the URL to check
  Returns:
    whether the URL has been identified as a JAR URL

### extractJarFileURL

    public static java.net.URL extractJarFileURL(java.net.URL jarUrl)
                                          throws java.net.MalformedURLException

  Extract the URL for the actual jar file from the given URL (which may point to a resource in a jar file or to a jar file itself).

  Parameters:
    `jarUrl` - the original URL
  Returns:
    the URL for the actual jar file
  Throws:
    `java.net.MalformedURLException` - if no valid jar file URL could be extracted

### toURI

    public static java.net.URI toURI(java.net.URL url)
                              throws java.net.URISyntaxException

  Create a URI instance for the given URL, replacing spaces with "%20" quotes first.

  Furthermore, this method works on JDK 1.4 as well, in contrast to the `URL.toURI()` method.

  Parameters:
    `url` - the URL to convert into a URI instance
  Returns:
    the URI instance
  Throws:
    `java.net.URISyntaxException` - if the URL wasn't a valid URI
  See Also:
    `URL.toURI()`

### toURI

    public static java.net.URI toURI(java.lang.String location)
                              throws java.net.URISyntaxException

  Create a URI instance for the given location String, replacing spaces with "%20" quotes first.

  Parameters:
    `location` - the location String to convert into a URI instance
  Returns:
    the URI instance
  Throws:
    `java.net.URISyntaxException` - if the location wasn't a valid URI

### useCachesIfNecessary

    public static void useCachesIfNecessary(java.net.URLConnection con)

  Set the `"useCaches"` flag on the given connection, preferring `false` but leaving the flag at `true` for JNLP based resources.

  Parameters:
    `con` - the URLConnection to set the flag on

Overview | Package | Class | Tree | Deprecated | Index | Help
| Spring Framework
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD