All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.macrocloud.kernel.toolkit.utils.ResourceUtil Maven / Gradle / Ivy

There is a newer version: 1.1.0-RELEASE
Show newest version
package org.macrocloud.kernel.toolkit.utils;

import org.springframework.core.io.ClassPathResource;
import org.springframework.core.io.FileSystemResource;
import org.springframework.core.io.Resource;
import org.springframework.core.io.UrlResource;
import org.springframework.core.io.support.ResourcePatternResolver;
import org.springframework.util.Assert;

import java.io.IOException;


/**
 * 资源工具类.
 *
 * @author macro
 */
public class ResourceUtil extends org.springframework.util.ResourceUtils {
	
	/** The Constant HTTP_REGEX. */
	public static final String HTTP_REGEX = "^https?:.+$";
	
	/** The Constant FTP_URL_PREFIX. */
	public static final String FTP_URL_PREFIX = "ftp:";

	/**
	 * 获取资源
	 * 

* 支持一下协议: *

* 1. classpath: * 2. file: * 3. ftp: * 4. http: and https: * 5. classpath*: * 6. C:/dir1/ and /Users/lcm *

* * @param resourceLocation 资源路径 * @return {Resource} * @throws IOException IOException */ public static Resource getResource(String resourceLocation) throws IOException { Assert.notNull(resourceLocation, "Resource location must not be null"); if (resourceLocation.startsWith(CLASSPATH_URL_PREFIX)) { return new ClassPathResource(resourceLocation); } if (resourceLocation.startsWith(FTP_URL_PREFIX)) { return new UrlResource(resourceLocation); } if (resourceLocation.matches(HTTP_REGEX)) { return new UrlResource(resourceLocation); } if (resourceLocation.startsWith(ResourcePatternResolver.CLASSPATH_ALL_URL_PREFIX)) { return SpringUtil.getContext().getResource(resourceLocation); } return new FileSystemResource(resourceLocation); } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy