【Spring】获取资源文件+从File+从InputStream对象获取正文数据

1.获取资源文件或者获取文本文件等,可以通过Spring的Resource的方式获取

2.仅有File对象即可获取正文数据

3.仅有InputStream即可获取正文数据

 

 1 package com.sxd.test.test1;
 2
 3 import java.io.BufferedReader;
 4 import java.io.File;
 5 import java.io.FileReader;
 6 import java.io.IOException;
 7 import java.io.InputStream;
 8 import java.nio.file.Files;
 9 import java.util.List;
10
11 import org.junit.Test;
12 import org.springframework.core.io.ClassPathResource;
13 import org.springframework.core.io.Resource;
14
15 public class GetResource {
16
17     /**
18      * 获取资源文件的 方法之一-----使用Spring架包中的Resource类实现
19      * 当然 获取资源文件还有不同来源的资源文件有相应的Resource实现:
20      * FileSystemResource-----文件资源
21      * ClassPathResource-----ClassPath资源
22      * UrlResource-----------URL资源
23      * InputStreamResource---InputStream资源
24      * ByteArrayResource-----Byte数组资源
25      * @throws IOException
26      */
27     @Test
28     public void getResouce() throws IOException{
29         Resource resource =new  ClassPathResource("beanFactoryTest.xml");
30         InputStream in = resource.getInputStream();
31         String fileName = resource.getFilename();
32         String description = resource.getDescription();
33         long contentLength = resource.contentLength();
34         File file = resource.getFile();
35
36
37         System.out.println("文件名:"+fileName);
38         System.out.println("描述:"+description);
39         System.out.println("正文长度:"+contentLength);
40
41
42         /**
43          * 有File对象就可以读取到正文的数据-----方法1
44          */
45         List<String> list = Files.readAllLines(file.toPath());
46         for (String string : list) {
47             System.out.println(string);
48         }
49
50
51         System.out.println("------------------------------------------------------------------------------------------------- ");
52         /**
53          * 有File对象可以读取正文的数据  ----方法2
54          */
55         BufferedReader br = new BufferedReader(new FileReader(file));
56         String str = null;
57         while((str=br.readLine()) != null){
58             System.out.println(str);
59         }
60
61         System.out.println("--------------------------------------------------------------------------------------------------");
62         /**
63          * 有InputStream可以读取正文数据
64          */
65         int contentLen = in.available();
66         byte[] st = new byte[contentLen];
67          in.read(st);
68          System.out.println(new String(st));
69
70     }
71 }

View Code

 

时间: 2024-11-10 00:57:05

【Spring】获取资源文件+从File+从InputStream对象获取正文数据的相关文章

【spring Boot】spring boot获取资源文件的三种方式【两种情况下】

首先声明一点,springboot获取资源文件,需要看是 1>从spring boot默认的application.properties资源文件中获取 2>还是从自定义的资源文件中获取   带着这个想法去看下面几种方式 =============================================================================================== 1>从spring boot默认的application.properties资

类库资源文件里的图片怎么全部获取出来!

问题描述 类库资源文件里的图片怎么全部获取出来!这个需要怎么写才能全部获取出来用个List或者数组之类的一次性传回去! 解决方案 解决方案二:ctrl+actrl+c打开文件夹ctrl+v解决方案三:你可以查一下文件类(File)的相关函数,及其相关类~~解决方案四:就是因为不能用文件啊解决方案五:这种资源要你用到的地方的resx里面有,那个里面是被序列化成Base64字符串,没用到的,就算你添加进来后,编译了也拿不到

easyui-如何获取资源文件内容(或是弹出对话框中的内容)

问题描述 如何获取资源文件内容(或是弹出对话框中的内容) 先描述下需求:项目使用的是easyUI框架,表格第一列为"发送通知"按钮,点击后弹出一个对话框,其中为通知内容,对话框下有"确定发送"按钮.现在要求通知内容模板写在.properties中,其中的参数如"通知者姓名"需要根据所选行中的信息填入,然后点击"确定发送"后台需要获取整个通知内容(包含参数,即对话框的内容).目前我通过fmt标签获取的信息模板,并传入参数,但是不

读取spring配置文件的方法(spring读取资源文件)_java

1.spring配置文件 复制代码 代码如下: <bean id="configproperties"          class="org.springframework.beans.factory.config.PropertiesFactoryBean">          <property name="location" value="classpath:jdbc.properties"/>

Spring Resource接口获取资源

1.1.1. Resource简介  在Spring内部实现机制,针对于资源文件(配置的xml文件)有一个统一的接口Resource.   1.1.1.1. 接口定义的方法 1.exists():判断资源文件是否存在. 2.isReadable():用于判断对应资源的内容是否可读.返回false肯定不可读,true也不一定可读. 3.isOpen():用于判断当前资源是否代表一个已打开的输入流,如果结果为true,则表示当前资源的输入流不可多次读取,而且在读取以后需要对它进行关闭,以防止内存泄露

Java或者JAR包获取读取资源文件的路径的问题总结

这里分为具体两种:  第一种:资源文件为一般后缀文件  第二种:资源文件为图片文件  [NO1]第一种    使用这行代码可以获取class类的根目录的路径    String path =Thread.currentThread().getContextClassLoader().getResource("").getPath();  例子:我用的开发软件MyEclipse 6.5  假设项目文件夹如下:     files---bin--core(生成class包)        

【java】获取解析资源文件的方法

关于资源文件的读取,有很多种方法,下面补充了多种方法 1.java.util.ResourceBundle 使用java自带的util包下的ResourceBundle类获取,使用方法最简单 //获取资源文件中键值对 ResourceBundle bundle = ResourceBundle.getBundle("资源文件的名字,不带后缀"); bundle.getString("键名"); 注意点:①资源文件直接放在项目的src下,也就是你项目的classpat

Android国际化资源文件自动化生成工具

一.工具起源            如果在做一个产品的过程当中,可能会涉及到多个apk的开发,而且要求实现多国语言.而这些apk可能会由多人分工共同完成.但如果这样的话,每个人都需要整理各自apk所要显示的文字交给专人来翻译.专人负责收集和翻译文字,翻译完了之后再交给每个开发者.比如这个产品中的所有apk都需要支持10国语言,也就是说每个开发人员,要拿着翻译好的文字,在各自负责的项目中创建这10个语种的资源文件,并且将这10个语种的文字依次放入到不同语种目录下的资源文件中.而且当apk写完后,后

[unity3d]从服务器端获取资源动态加载到场景

我们的游戏制作完发布出去提供给玩家,为了给玩家带来更好的游戏体验,要做各种的优化以及设计,首先,游戏资源的加载就是一个非常重要的方面(尤其是网页游戏).由于我们的游戏资源比较大,不能一下全部加载出来,如果是这样,可能会造成玩家长时间的等待.所以我们应该采取动态加载的方式,让玩家在玩游戏的过程中来一点一点从服务器加载游戏资源.要实现这样的效果,首先就必须要制作用于一点点加载的游戏资源. (注:本文只是谈及这些游戏资源的制作和下载,关于游戏运行中的动态加载不做讨论) (再注:本文涉及到的代码都是以C