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. java ResultSet获得总行数

    在Java中,获得ResultSet的总行数的方法有以下几种. 第一种:利用ResultSet的getRow方法来获得ResultSet的总行数 Statement stmt = con.create ...

  2. EasyPlayerPro Windows流媒体播放器(RTSP/RTMP/HTTP/HLS/File/TCP/RTP/UDP都能播)发布啦

    EasyPlayerPro简介 EasyPlayerPro是一款全功能的流媒体播放器,支持RTSP.RTMP.HTTP.HLS.UDP.RTP.File等多种流媒体协议播放.支持本地文件播放,支持本地 ...

  3. scrapy架构解析

  4. SQL Server 中 GO 的用法(转)

    本科里学了那么多年SQL Server一直看到书上各种SQL语句中间夹杂着那么几个看似毫无意义的GO,看着就让人莫名,问老师,老师一般只会告诉你,不要理他,这个东西没用的.但是个性纠结并且有轻微强迫症 ...

  5. DockPanel的使用与技巧

    DockPanel的使用 1.建立一个WinForm工程,默认生成了一个WinForm窗体Form1. 2.引用—>添加引用—>浏览—>weiFenLuo.winFormsUI.Do ...

  6. UITableView的headerView和headerInsectionView

    UITableView有两个headerView:tableHeaderView.和headerInsectionView(组头视图).   给tableView添加这两个View:tableHead ...

  7. Objective-c中的delegate浅析

    delegate初探 在ios开发中,我们常常会用到类似例如以下的对话框: 因此,例如以下这段代码我们也就非常熟悉了: - (IBAction)showSheet:(id)sender { UIAct ...

  8. Linux就该这么学--命令集合10(vim编辑器)

    1.vim编辑器的命令模式中常用的快捷键: dd 删除(剪切)光标所在整行 5dd 删除(剪切)从光标处开始的5行 yy 复制光标所在整行 5yy 复制从光标处开始的5行 p 将之前删除(dd)或复制 ...

  9. ceph pool 管理

    创建池 [root@node1 ~]# ceph osd pool create monitor pool 'monitor' created 查看池 [root@node1 ~]# ceph osd ...

  10. STM32 ~ USART接收不定长数据

    IDLE中断什么时候发生? IDLE就是串口收到一帧数据后,发生的中断.什么是一帧数据呢?比如说给单片机一次发来1个字节,或者一次发来8个字节,这些一次发来的数据,就称为一帧数据,也可以叫做一包数据. ...