- 获取资源方式
1.由于ApplicationContext继承了ResourceLoader接口,所有可通过getResource方法来获取资源。
Resource resource = parent.getResource("aaa.txt");
InputStream inputStream = resource.getInputStream();
System.out.println("resource.contentLength() = " + resource.contentLength());
FileOutputStream fos = new FileOutputStream("baidu.html");
byte[] bytes = new byte[inputStream.available()];
inputStream.read(bytes);
fos.write(bytes,0,bytes.length);
getResource方法十分强大,这里的资源可以是磁盘上的资源,网络上的资源,还可以是classpath下的资源。
2.除此之外,还可以通过特定的一些类来获取指定资源
//获取classpath下的资源
ClassPathResource rs = new ClassPathResource("com/springgj");
File file = rs.getFile();
printFile(file);
//获取文件系统资源
FileSystemResource fs = new FileSystemResource("C:\\Users\\Administrator\\Desktop\\4317.docx");
System.out.println(fs.contentLength());
//获取网络资源
UrlResource urlResource = new UrlResource("https://www.baidu.com");
System.out.println(urlResource.contentLength());
- 获取环境变量方式
System.out.println(environment.getSystemProperties());//获取jvm环境变量
System.out.println("====");
System.out.println(environment.getSystemEnvironment());//获取系统环境变量
//尝试获取classpath
System.out.println(environment.getSystemProperties().get("java.class.path"));