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

1.获取资源文件或者获取文本文件等,可以通过Spring的Resource的方式获取
2.仅有File对象即可获取正文数据
3.仅有InputStream即可获取正文数据
 package com.sxd.test.test1;

 import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStream;
import java.nio.file.Files;
import java.util.List; import org.junit.Test;
import org.springframework.core.io.ClassPathResource;
import org.springframework.core.io.Resource; public class GetResource { /**
* 获取资源文件的 方法之一-----使用Spring架包中的Resource类实现
* 当然 获取资源文件还有不同来源的资源文件有相应的Resource实现:
* FileSystemResource-----文件资源
* ClassPathResource-----ClassPath资源
* UrlResource-----------URL资源
* InputStreamResource---InputStream资源
* ByteArrayResource-----Byte数组资源
* @throws IOException
*/
@Test
public void getResouce() throws IOException{
Resource resource =new ClassPathResource("beanFactoryTest.xml");
InputStream in = resource.getInputStream();
String fileName = resource.getFilename();
String description = resource.getDescription();
long contentLength = resource.contentLength();
File file = resource.getFile(); System.out.println("文件名:"+fileName);
System.out.println("描述:"+description);
System.out.println("正文长度:"+contentLength); /**
* 有File对象就可以读取到正文的数据-----方法1
*/
List<String> list = Files.readAllLines(file.toPath());
for (String string : list) {
System.out.println(string);
} System.out.println("------------------------------------------------------------------------------------------------- ");
/**
* 有File对象可以读取正文的数据 ----方法2
*/
BufferedReader br = new BufferedReader(new FileReader(file));
String str = null;
while((str=br.readLine()) != null){
System.out.println(str);
} System.out.println("--------------------------------------------------------------------------------------------------");
/**
* 有InputStream可以读取正文数据
*/
int contentLen = in.available();
byte[] st = new byte[contentLen];
in.read(st);
System.out.println(new String(st)); }
}
上一篇:pandas列合并为一行


下一篇:GRIDVIEW多行多列合并单元格(合并列)