Spring之ResourceLoader
Spring中的ResourceLoader用于加载资源。可以从文件中、网络中、流中加载资源。
资源加载器是个接口,默认从类路径下加载。通过getResource方法从字符串中查找路径。可以从容器中获取ResourceLoader,调用getResource方法。
public interface ResourceLoader {
String CLASSPATH_URL_PREFIX = "classpath:";
Resource getResource(String var1);
@Nullable
ClassLoader getClassLoader();
}
applicationContext为容器:获取类路径下的资源
Resource resource = applicationContext.getResource("demo.txt");
String filename = resource.getFilename();
System.out.println(filename);
InputStream inputStream = resource.getInputStream();
byte[] b=new byte[1024];
int read = inputStream.read(b);
System.out.println(new String(b,0,read));
Resource resource1 = applicationContext.getResource("ApplicationContext.xml");
String filename1 = resource1.getFilename();
System.out.println(filename1);
String description = resource1.getDescription();
System.out.println(description);
applicationContext为容器:获取网络资源
Resource resource2 = applicationContext.getResource("http://jsonplaceholder.typicode.com/posts");
InputStream inputStream1 = resource2.getInputStream();
byte[] b2=new byte[10240];
BufferedInputStream stream = new BufferedInputStream(inputStream1);
int i = stream.read(b2);
System.out.println(new String(b2,0,i));
stream.close();