类 ResourceUtils
- java.lang.Object
- org.springframework.util.ResourceUtils
public abstract class ResourceUtils extends 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
'sgetResource()
method can resolve any location to aResource
object, which in turn allows one to obtain ajava.io.File
in the file system through itsgetFile()
method.- 从以下版本开始:
- 1.1.5
- 作者:
- Juergen Hoeller
- 另请参阅:
Resource
,ClassPathResource
,FileSystemResource
,UrlResource
,ResourceLoader
字段概要
字段 修饰符和类型 字段 说明 static String
CLASSPATH_URL_PREFIX
Pseudo URL prefix for loading from the class path: "classpath:"static String
FILE_URL_PREFIX
URL prefix for loading from the file system: "file:"static String
JAR_FILE_EXTENSION
File extension for a regular jar file: ".jar"static String
JAR_URL_PREFIX
URL prefix for loading from a jar file: "jar:"static String
JAR_URL_SEPARATOR
Separator between JAR URL and file path within the JAR: "!static String
URL_PROTOCOL_FILE
URL protocol for a file in the file system: "file"static String
URL_PROTOCOL_JAR
URL protocol for an entry from a jar file: "jar"static String
URL_PROTOCOL_VFS
URL protocol for a general JBoss VFS resource: "vfs"static String
URL_PROTOCOL_VFSFILE
URL protocol for a JBoss file system resource: "vfsfile"static String
URL_PROTOCOL_VFSZIP
URL protocol for an entry from a JBoss jar file: "vfszip"static String
URL_PROTOCOL_WAR
URL protocol for an entry from a war file: "war"static String
URL_PROTOCOL_WSJAR
URL protocol for an entry from a WebSphere jar file: "wsjar"static String
URL_PROTOCOL_ZIP
URL protocol for an entry from a zip file: "zip"static String
WAR_URL_PREFIX
URL prefix for loading from a war file on Tomcat: "war:"static String
WAR_URL_SEPARATOR
Special separator between WAR URL and jar part on Tomcat
构造器概要
构造器 构造器 说明 ResourceUtils()
方法概要
所有方法 静态方法 具体方法 修饰符和类型 方法 说明 static URL
extractArchiveURL(URL jarUrl)
Extract the URL for the outermost archive from the given jar/war URL (which may point to a resource in a jar file or to a jar file itself).static URL
extractJarFileURL(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 File
getFile(String resourceLocation)
Resolve the given resource location to ajava.io.File
, i.e. to a file in the file system.static File
getFile(URI resourceUri)
Resolve the given resource URI to ajava.io.File
, i.e. to a file in the file system.static File
getFile(URI resourceUri, String description)
Resolve the given resource URI to ajava.io.File
, i.e. to a file in the file system.static File
getFile(URL resourceUrl)
Resolve the given resource URL to ajava.io.File
, i.e. to a file in the file system.static File
getFile(URL resourceUrl, String description)
Resolve the given resource URL to ajava.io.File
, i.e. to a file in the file system.static URL
getURL(String resourceLocation)
Resolve the given resource location to ajava.net.URL
.static boolean
isFileURL(URL url)
Determine whether the given URL points to a resource in the file system, i.e. has protocol "file", "vfsfile" or "vfs".static boolean
isJarFileURL(URL url)
Determine whether the given URL points to a jar file itself, that is, has protocol "file" and ends with the ".jar" extension.static boolean
isJarURL(URL url)
Determine whether the given URL points to a resource in a jar file.static boolean
isUrl(String resourceLocation)
Return whether the given resource location is a URL: either a special "classpath" pseudo URL or a standard URL.static URI
toURI(String location)
Create a URI instance for the given location String, replacing spaces with "%20" URI encoding first.static URI
toURI(URL url)
Create a URI instance for the given URL, replacing spaces with "%20" URI encoding first.static void
useCachesIfNecessary(URLConnection con)
Set the"useCaches"
flag on the given connection, preferringfalse
but leaving the flag attrue
for JNLP based resources.
字段详细资料
CLASSPATH_URL_PREFIX
public static final String CLASSPATH_URL_PREFIX
Pseudo URL prefix for loading from the class path: "classpath:"- 另请参阅:
- 常量字段值
FILE_URL_PREFIX
public static final String FILE_URL_PREFIX
URL prefix for loading from the file system: "file:"- 另请参阅:
- 常量字段值
JAR_URL_PREFIX
public static final String JAR_URL_PREFIX
URL prefix for loading from a jar file: "jar:"- 另请参阅:
- 常量字段值
WAR_URL_PREFIX
public static final String WAR_URL_PREFIX
URL prefix for loading from a war file on Tomcat: "war:"- 另请参阅:
- 常量字段值
URL_PROTOCOL_FILE
public static final String URL_PROTOCOL_FILE
URL protocol for a file in the file system: "file"- 另请参阅:
- 常量字段值
URL_PROTOCOL_JAR
public static final String URL_PROTOCOL_JAR
URL protocol for an entry from a jar file: "jar"- 另请参阅:
- 常量字段值
URL_PROTOCOL_WAR
public static final String URL_PROTOCOL_WAR
URL protocol for an entry from a war file: "war"- 另请参阅:
- 常量字段值
URL_PROTOCOL_ZIP
public static final String URL_PROTOCOL_ZIP
URL protocol for an entry from a zip file: "zip"- 另请参阅:
- 常量字段值
URL_PROTOCOL_WSJAR
public static final String URL_PROTOCOL_WSJAR
URL protocol for an entry from a WebSphere jar file: "wsjar"- 另请参阅:
- 常量字段值
URL_PROTOCOL_VFSZIP
public static final String URL_PROTOCOL_VFSZIP
URL protocol for an entry from a JBoss jar file: "vfszip"- 另请参阅:
- 常量字段值
URL_PROTOCOL_VFSFILE
public static final String URL_PROTOCOL_VFSFILE
URL protocol for a JBoss file system resource: "vfsfile"- 另请参阅:
- 常量字段值
URL_PROTOCOL_VFS
public static final String URL_PROTOCOL_VFS
URL protocol for a general JBoss VFS resource: "vfs"- 另请参阅:
- 常量字段值
JAR_FILE_EXTENSION
public static final String JAR_FILE_EXTENSION
File extension for a regular jar file: ".jar"- 另请参阅:
- 常量字段值
JAR_URL_SEPARATOR
public static final String JAR_URL_SEPARATOR
Separator between JAR URL and file path within the JAR: "!/"- 另请参阅:
- 常量字段值
WAR_URL_SEPARATOR
public static final String WAR_URL_SEPARATOR
Special separator between WAR URL and jar part on Tomcat- 另请参阅:
- 常量字段值
构造器详细资料
ResourceUtils
public ResourceUtils()
方法详细资料
isUrl
public static boolean isUrl(String resourceLocation)
Return whether the given resource location is a URL: either a special "classpath" pseudo URL or a standard URL.- 参数:
resourceLocation
- the location String to check- 返回:
- whether the location qualifies as a URL
- 另请参阅:
CLASSPATH_URL_PREFIX
,URL
getURL
public static URL getURL(String resourceLocation) throws FileNotFoundException
Resolve the given resource location to ajava.net.URL
.Does not check whether the URL actually exists; simply returns the URL that the given location would correspond to.
- 参数:
resourceLocation
- the resource location to resolve: either a "classpath:" pseudo URL, a "file:" URL, or a plain file path- 返回:
- a corresponding URL object
- 抛出:
FileNotFoundException
- if the resource cannot be resolved to a URL
getFile
public static File getFile(String resourceLocation) throws FileNotFoundException
Resolve the given resource location to ajava.io.File
, i.e. to a file in the file system.Does not check whether the file actually exists; simply returns the File that the given location would correspond to.
- 参数:
resourceLocation
- the resource location to resolve: either a "classpath:" pseudo URL, a "file:" URL, or a plain file path- 返回:
- a corresponding File object
- 抛出:
FileNotFoundException
- if the resource cannot be resolved to a file in the file system
getFile
public static File getFile(URL resourceUrl) throws FileNotFoundException
Resolve the given resource URL to ajava.io.File
, i.e. to a file in the file system.- 参数:
resourceUrl
- the resource URL to resolve- 返回:
- a corresponding File object
- 抛出:
FileNotFoundException
- if the URL cannot be resolved to a file in the file system
getFile
public static File getFile(URL resourceUrl, String description) throws FileNotFoundException
Resolve the given resource URL to ajava.io.File
, i.e. to a file in the file system.- 参数:
resourceUrl
- the resource URL to resolvedescription
- a description of the original resource that the URL was created for (for example, a class path location)- 返回:
- a corresponding File object
- 抛出:
FileNotFoundException
- if the URL cannot be resolved to a file in the file system
getFile
public static File getFile(URI resourceUri) throws FileNotFoundException
Resolve the given resource URI to ajava.io.File
, i.e. to a file in the file system.- 参数:
resourceUri
- the resource URI to resolve- 返回:
- a corresponding File object
- 抛出:
FileNotFoundException
- if the URL cannot be resolved to a file in the file system- 从以下版本开始:
- 2.5
getFile
public static File getFile(URI resourceUri, String description) throws FileNotFoundException
Resolve the given resource URI to ajava.io.File
, i.e. to a file in the file system.- 参数:
resourceUri
- the resource URI to resolvedescription
- a description of the original resource that the URI was created for (for example, a class path location)- 返回:
- a corresponding File object
- 抛出:
FileNotFoundException
- if the URL cannot be resolved to a file in the file system- 从以下版本开始:
- 2.5
isFileURL
public static boolean isFileURL(URL url)
Determine whether the given URL points to a resource in the file system, i.e. has protocol "file", "vfsfile" or "vfs".- 参数:
url
- the URL to check- 返回:
- whether the URL has been identified as a file system URL
isJarURL
public static boolean isJarURL(URL url)
Determine whether the given URL points to a resource in a jar file. i.e. has protocol "jar", "war, ""zip", "vfszip" or "wsjar".- 参数:
url
- the URL to check- 返回:
- whether the URL has been identified as a JAR URL
isJarFileURL
public static boolean isJarFileURL(URL url)
Determine whether the given URL points to a jar file itself, that is, has protocol "file" and ends with the ".jar" extension.- 参数:
url
- the URL to check- 返回:
- whether the URL has been identified as a JAR file URL
- 从以下版本开始:
- 4.1
extractJarFileURL
public static URL extractJarFileURL(URL jarUrl) throws 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).- 参数:
jarUrl
- the original URL- 返回:
- the URL for the actual jar file
- 抛出:
MalformedURLException
- if no valid jar file URL could be extracted
extractArchiveURL
public static URL extractArchiveURL(URL jarUrl) throws MalformedURLException
Extract the URL for the outermost archive from the given jar/war URL (which may point to a resource in a jar file or to a jar file itself).In the case of a jar file nested within a war file, this will return a URL to the war file since that is the one resolvable in the file system.
- 参数:
jarUrl
- the original URL- 返回:
- the URL for the actual jar file
- 抛出:
MalformedURLException
- if no valid jar file URL could be extracted- 从以下版本开始:
- 4.1.8
- 另请参阅:
extractJarFileURL(URL)
toURI
public static URI toURI(URL url) throws URISyntaxException
Create a URI instance for the given URL, replacing spaces with "%20" URI encoding first.- 参数:
url
- the URL to convert into a URI instance- 返回:
- the URI instance
- 抛出:
URISyntaxException
- if the URL wasn't a valid URI- 另请参阅:
URL.toURI()
toURI
public static URI toURI(String location) throws URISyntaxException
Create a URI instance for the given location String, replacing spaces with "%20" URI encoding first.- 参数:
location
- the location String to convert into a URI instance- 返回:
- the URI instance
- 抛出:
URISyntaxException
- if the location wasn't a valid URI
useCachesIfNecessary
public static void useCachesIfNecessary(URLConnection con)
Set the"useCaches"
flag on the given connection, preferringfalse
but leaving the flag attrue
for JNLP based resources.- 参数:
con
- the URLConnection to set the flag on