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

简介: 1.获取资源文件或者获取文本文件等,可以通过Spring的Resource的方式获取2.仅有File对象即可获取正文数据3.仅有InputStream即可获取正文数据  1 package com.
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

 

相关文章
|
5天前
|
存储 Java Spring
【Spring】获取Bean对象需要哪些注解
@Conntroller,@Service,@Repository,@Component,@Configuration,关于Bean对象的五个常用注解
|
5天前
|
存储 Java 应用服务中间件
【Spring】IoC和DI,控制反转,Bean对象的获取方式
IoC,DI,控制反转容器,Bean的基本常识,类注解@Controller,获取Bean对象的常用三种方式
|
5天前
|
Java Spring
【Spring配置相关】启动类为Current File,如何更改
问题场景:当我们切换类的界面的时候,重新启动的按钮是灰色的,不能使用,并且只有一个Current File 项目,下面介绍两种方法来解决这个问题。
|
4月前
|
XML Java 测试技术
Spring5入门到实战------17、Spring5新功能 --Nullable注解和函数式注册对象。整合JUnit5单元测试框架
这篇文章介绍了Spring5框架的三个新特性:支持@Nullable注解以明确方法返回、参数和属性值可以为空;引入函数式风格的GenericApplicationContext进行对象注册和管理;以及如何整合JUnit5进行单元测试,同时讨论了JUnit4与JUnit5的整合方法,并提出了关于配置文件加载的疑问。
Spring5入门到实战------17、Spring5新功能 --Nullable注解和函数式注册对象。整合JUnit5单元测试框架
|
4月前
|
存储 运维 Java
使用 @Audited 增强Spring Boot 应用程序的数据审计能力
【7月更文挑战第19天】在Spring Boot应用中使用`@Audited`增强数据审计能力涉及在相关实体或方法上添加该注解以标记需审计的操作。例如,在`User`类的`updateUser`方法上使用`@Audited`可记录更新操作的详情。此外,还需配置审计日志存储方式(如数据库)及事件过滤规则等。这有助于满足合规性需求、故障排查及数据分析,对数据安全和完整至关重要。
106 1
|
18天前
|
XML 安全 Java
Spring Boot中使用MapStruct进行对象映射
本文介绍如何在Spring Boot项目中使用MapStruct进行对象映射,探讨其性能高效、类型安全及易于集成等优势,并详细说明添加MapStruct依赖的步骤。
|
2月前
|
存储 Java API
如何使用 Java 记录简化 Spring Data 中的数据实体
如何使用 Java 记录简化 Spring Data 中的数据实体
45 9
|
2月前
|
Java Spring
获取spring工厂中bean对象的两种方式
获取spring工厂中bean对象的两种方式
53 1
|
2月前
|
JSON 前端开发 Java
【Spring】“请求“ 之传递 JSON 数据
【Spring】“请求“ 之传递 JSON 数据
100 2
|
2月前
|
前端开发 Java Spring
【Spring】“请求“ 之传递单个参数、传递多个参数和传递对象
【Spring】“请求“ 之传递单个参数、传递多个参数和传递对象
147 2