package com.htf.controller;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
//访问文件资源
import org.springframework.core.io.ClassPathResource;
import org.springframework.core.io.FileSystemResource;
import org.springframework.core.io.Resource;
import org.springframework.util.ResourceUtils;
//文件操作
import org.springframework.util.FileCopyUtils;
//属性文件操作
import java.util.Properties;
import org.springframework.core.io.support.PropertiesLoaderUtils;
//特殊编码的资源
import org.springframework.core.io.support.EncodedResource;
//访问 Spring 容器,获取容器中的 Bean
import org.springframework.web.context.support.WebApplicationContextUtils;
//Spring 所提供的过滤器和监听器
//延迟加载过滤器
//import org.springframework.orm.hibernate3.support.OpenSessionInViewFilter;
//中文乱码过滤器
import org.springframework.web.filter.CharacterEncodingFilter;
public class SpringUtils {
public static void main(String[] args) {
propertieTest();
//通过 FileSystemResource 以文件系统绝对路径的方式进行访问;
//通过 ClassPathResource 以类路径的方式进行访问;
//通过 ServletContextResource 以相对于 Web 应用根目录的方式进行访问。
resourceTest();//访问文件资源
}
public static void resourceTest(){
String filePath =
"D:/masterSpring/chapter23/webapp/WEB-INF/classes/conf/file1.txt";
// ① 使用系统文件路径方式加载文件
Resource res1 = new FileSystemResource(filePath);
// ② 使用类路径方式加载文件
Resource res2 = new ClassPathResource("conf/file1.txt");
try {
InputStream ins1 = res1.getInputStream();
InputStream ins2 = res2.getInputStream();
System.out.println("res1:"+res1.getFilename());
System.out.println("res2:"+res2.getFilename());
/***
* 在获取资源后,您就可以通过 Resource 接口定义的多个方法访问文件的数据和其它的信息
getFileName() 获取文件名,
getFile() 获取资源对应的 File 对象,
getInputStream() 直接获取文件的输入流。
createRelative(String relativePath) 在资源相对地址上创建新的资源。
*/
//在 Web 应用中,您还可以通过 ServletContextResource 以相对于 Web 应用根目录的方式访问文件资源
//Spring 提供了一个 ResourceUtils 工具类,它支持“classpath:”和“file:”的地址前缀 ,它能够从指定的地址加载文件资源。
File clsFile = ResourceUtils.getFile("classpath:conf/file1.txt");
System.out.println(clsFile.isFile());
String httpFilePath = "file:D:/masterSpring/chapter23/src/conf/file1.txt";
File httpFile = ResourceUtils.getFile(httpFilePath);
} catch (IOException e) {
e.printStackTrace();
}
}
public static void propertieTest(){
try {
Properties props = PropertiesLoaderUtils.loadAllProperties("jdbc.properties");
String pwd=(String) props.get("jdbc.password");
System.out.println("数据库密码:"+pwd);
} catch (IOException e) {
e.printStackTrace();
}
}
}
摘自 :http://www.cnblogs.com/langtianya/p/3875103.html
spring常用工具类
最新推荐文章于 2023-07-08 10:23:48 发布