内置Resource之ByteArrayResource

来源:互联网 发布:淘宝店铺监控软件 编辑:程序博客网 时间:2024/06/11 20:09

ByteArrayResource代表byte[]数组资源,对于getInputStream将返回一个ByteArrayInputStream.

@Testpublic void testByteArrayResource(){//1、定义资源Resource resource = new ByteArrayResource("Hello World!".getBytes());//2、验证资源是否存在if(resource.exists()){//3、访问资源dumpStream(resource);}}
这个测试方法定义了基本步骤:1、定义资源。2、验证资源是否存在。3、访问资源。

看下dumpStream的实现

private void dumpStream(Resource resource){InputStream is = null;try{//1、获取文件资源is = resource.getInputStream();//2、读取资源byte [] descBytes = new byte [is.available()];//java.io.InputStream.available返回此输入流方法的下一个调用方可以不受阻塞地从此输入流读取(或跳过)的字节数is.read(descBytes);System.out.println(new String(descBytes));}catch (Exception e) {e.printStackTrace();}finally{try{//3、关闭资源is.close();}catch (Exception e) {}}}


dumpStream方法定义了访问流的三步曲:1、获取资源。2、读取资源 3、关闭资源

ByteArrayResource可多次读取数组资源,即isOpen()永远返回false.

注意: 这里的inputStream是java.io.InputStream。ByteArrayResource是org.springframework.core.io.ByteArrayResource。Resource是org.springframework.core.io.Resource

原创粉丝点击