Resource操作资源
来源:互联网 发布:啦啦啦德玛西亚 知乎 编辑:程序博客网 时间:2024/06/03 23:02
常用的实现:FileSystemResource 加载文件,可以使用文件绝对路径;ClassPathResource 加载classpath下资源;ServletContextResource加载Servlet上下文的资源。
打了jar包后,不能获取File,但是可以获取输入流;
一:读取jar包里的文件
文件在 src/main/resources/conf目录下;
引入jar
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>4.1.4.RELEASE</version>
</dependency>
public static void m2() throws IOException{Resource r1=new ClassPathResource("conf/1.txt");InputStream is = r1.getInputStream();int n;ByteArrayOutputStream bos = new ByteArrayOutputStream();while((n=is.read())!=-1){bos.write(n);}System.out.println(bos.toString());bos.close();is.close();System.out.println("m2 ok");}
二 读写web项目里的资源
引入jar
<dependency><groupId>org.springframework</groupId><artifactId>spring-core</artifactId><version>4.3.9.RELEASE</version></dependency><!-- ServletContextResource --><dependency><groupId>org.springframework</groupId><artifactId>spring-web</artifactId><version>4.3.9.RELEASE</version></dependency>
index.jsp:
<html><script type="text/javascript">var n="1.33";var n1="1.32";alert(n>n1);</script><body><h2>Hello World!</h2><strong>classpath下的资源读写</strong><br><a href="S1">write</a><br><a href="S2">read</a><br><strong>web上下文的资源读写</strong><br><a href="S3">write</a><br><a href="S4">read</a></body></html>
S1.java
import java.io.BufferedReader;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStreamReader;import java.io.OutputStream;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.springframework.core.io.ClassPathResource;import org.springframework.core.io.Resource;/** * Servlet implementation class S1 */public class S1 extends HttpServlet {protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {doPost(request, response);}protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {Resource r=new ClassPathResource("1.txt");File file = r.getFile();OutputStream os=new FileOutputStream(file,true);os.write("你好世界".getBytes());os.close();System.out.println("write ok");}}
import java.io.ByteArrayOutputStream;import java.io.IOException;import java.io.InputStream;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.springframework.core.io.ClassPathResource;import org.springframework.core.io.Resource;/** * Servlet implementation class S2 */public class S2 extends HttpServlet {protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {doPost(request, response);}/** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {Resource r=new ClassPathResource("1.txt");InputStream is = r.getInputStream();ByteArrayOutputStream bos = new ByteArrayOutputStream();int n;while((n=is.read())!=-1){bos.write(n);}System.out.println(bos.toString());bos.close();is.close();System.out.println("------------------");}}
S3.java
import java.io.File;import java.io.FileOutputStream;import java.io.IOException;import java.io.OutputStream;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.springframework.core.io.Resource;import org.springframework.web.context.support.ServletContextResource;/** * Servlet implementation class S3 */public class S3 extends HttpServlet {protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {doPost(request, response);}protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {Resource r=new ServletContextResource(request.getServletContext(), "index1.jsp");System.out.println(r.getDescription());File file = r.getFile();OutputStream os=new FileOutputStream(file,true);os.write("中国".getBytes());os.flush();os.close();System.out.println("write ok");}}
S4.java
import java.io.ByteArrayOutputStream;import java.io.File;import java.io.IOException;import java.io.InputStream;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.springframework.core.io.Resource;import org.springframework.web.context.support.ServletContextResource;/** * Servlet implementation class S4 */public class S4 extends HttpServlet {protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {doPost(request, response);}protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {ServletContextResource r=new ServletContextResource(request.getServletContext(), "index1.jsp");System.out.println(r.getDescription());System.out.println(r.getPath());System.out.println(r.getPathWithinContext());System.out.println(r.getURL());System.out.println(r.getURI());InputStream is = r.getInputStream();ByteArrayOutputStream bos = new ByteArrayOutputStream();int n;while((n=is.read())!=-1){bos.write(n);}System.out.println(bos.toString());bos.close();is.close();System.out.println("------------------");}}
阅读全文
0 0
- Resource操作资源
- Resource(资源)
- 资源resource
- 资源 Resource
- 使用 WS-Resource 属性,第 1 部分: 操作资源属性
- Spring Resource实现对操作读取资源的增强
- Spring提供的Resource/ResourceLoader接口操作资源文件
- 资源注射(@Resource)
- 关于资源Resource
- Android - 资源(resource)
- Android - 使用资源(resource)
- spring resource资源
- Spring 资源Resource 模块
- WPF Resource资源
- WPF的资源(Resource)?
- Spring Resource 资源
- 82-资源resource类型
- Spring Resource加载资源
- 嵌入式系统基础及知识及接口技术总结
- 11g Oracle Rac安装(基于linux6)可能出现的问题
- Zookeeper数据与存储
- JavaMail邮件发送功能(包含多收件人 多抄送人 多附件)
- 枚举根据ordinal值获取对应文本
- Resource操作资源
- [性能] abap运行时间分析工具se30(SAT)使用介绍
- Spring Boot导入XML配置【从零开始学Spring Boot】
- FTPrep, 83 Remove Duplicates from Sorted List
- 关于chrome扩展的东西
- Linux6安装
- Eclipse常用快捷键
- Mysql 删除包含或者不包含某字符的记录
- 购物车2