package com.smart.resource;

import org.springframework.core.io.ClassPathResource;
import org.springframework.core.io.PathResource;
import org.springframework.core.io.Resource;
import org.springframework.core.io.WritableResource; import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream; public class FileSourceExample { public static void main(String[] args) {
try {
String filePath = "E:\\learn\\spring4.x\\chapter4\\src\\main\\resources\\conf\\test.txt"; //使用系统文件路径方式加载文件
WritableResource res1 = new PathResource(filePath); //使用类路径方式加载文件
Resource res2 = new ClassPathResource("conf/test.txt"); //使用WritableResource接口写资源文件
OutputStream stream1 = res1.getOutputStream();
stream1.write("欢迎光临\n小春论坛".getBytes());
stream1.close(); //使用Resource接口读资源文件
InputStream ins1 = res1.getInputStream();
InputStream ins2 = res2.getInputStream(); ByteArrayOutputStream baos = new ByteArrayOutputStream();
int i;
while ((i = ins1.read()) != -1) {
baos.write(i);
}
System.out.println(baos.toString()); System.out.println("res1: " + res1.getFilename());
System.out.println("res2: " + res2.getFilename()); } catch (IOException e) {
e.printStackTrace();
}
}
}

《精通Spring4.X企业应用开发实战》读后感第四章(资源访问)的更多相关文章

  1. 《精通Spring4.x企业应用开发实战》第三章

    这一章节主要介绍SpringBoot的使用,也是学习的重点内容,之后就打算用SpringBoot来写后台,所以提前看一下还是很有必要的. 3.SpringBoot概况 3.1.1SpringBoot发 ...

  2. 《精通Spring4.X企业应用开发实战》读后感第七章(创建增强类)

  3. 《精通Spring4.X企业应用开发实战》读后感第七章(AOP基础知识、jdk动态代理,CGLib动态代理)

  4. 《精通Spring4.X企业应用开发实战》读后感第七章(AOP概念)

  5. 《精通Spring4.X企业应用开发实战》读后感第六章(容器事件)

  6. 《精通Spring4.X企业应用开发实战》读后感第六章(国际化)

  7. 《精通Spring4.X企业应用开发实战》读后感第六章(引用Bean的属性值)

  8. 《精通Spring4.X企业应用开发实战》读后感第六章(使用外部属性文件)

  9. 《精通Spring4.X企业应用开发实战》读后感第六章(属性编辑器)

随机推荐

  1. iOS程序自动检测更新的实现

      本文转载至 http://blog.csdn.net/davidsph/article/details/8931718 App Store自动更新itunes     之前项目需要用到app自动更 ...

  2. 九度OJ 1027:欧拉回路 (欧拉回路)

    时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:2989 解决:1501 题目描述:     欧拉回路是指不令笔离开纸面,可画过图中每条边仅一次,且可以回到起点的一条回路.现给定一个图,问是 ...

  3. cmake默认变量

    1 CMAKE_GENERATOR 用来生成工程构建文件的工具的名字,比如visual studio 12,2013,比如xcode,不同的平台使用不同的生成工具. 2 MATCHES if (var ...

  4. 我的Java开发学习之旅------>Java使用ObjectOutputStream和ObjectInputStream序列号对象报java.io.EOFException异常的解决方法

    今天用ObjectOutputStream和ObjectInputStream进行对象序列化话操作的时候,报了java.io.EOFException异常. 异常代码如下: java.io.EOFEx ...

  5. 《ASP.NET4从入门到精通》学习笔记2

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/dongdongdongJL/article/details/37610807   <ASP.N ...

  6. nodejs 版本dockerfile 文件制作,和常用命令

    Dockerfile 如下 官方的node6.3的版本有点难下载,建议去网易蜂巢  https://c.163.com/hub pull hub.c.163.com/library/node:6.9 ...

  7. SDUT OJ 河床

    河床 Time Limit: 3000ms   Memory limit: 65536K  有疑问?点这里^_^ 题目描述 地理学家们经常要对一段河流进行测量分析.他们从上游开始向下游方向等距离地选择 ...

  8. python_opencv库的学习

    一.以灰度图的形式加载彩色图像. https://docs.opencv.org/3.0-beta/doc/py_tutorials/py_gui/py_image_display/py_image_ ...

  9. BZOJ 3016 [Usaco2012 Nov]Clumsy Cows:贪心

    题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=3016 题意: 给你一个括号序列,问你至少修改多少个括号,才能使这个括号序列合法. 题解: ...

  10. 日期时间选择器bootstrap-datetimepicker表单组件

    Bootstrap受到很多人的喜欢,它不仅拥有一套完整漂亮的UI,而且爱好者们为其开发扩展了很多有用的插件和主题!让其拥有无限可能! 今天为开发者推荐一款强大,易用的时间日历插件——bootstrap ...