方法一:推荐使用此方法
package com.quanjude.test;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
public class Test {
public static void main(String[] args) throws Exception{
// 这里就是读取resource目录下的static文件里的 名为“红色圆.png”的图片
InputStream inputStream = Thread.currentThread().getContextClassLoader().getResourceAsStream("static/红色圆.png");
OutputStream outputStream=new FileOutputStream("d:\\Users\\hhh\\Desktop\\复制的图片.png");
int len;
byte[] bytes=new byte[8192];
while ((len=inputStream.read(bytes,0,8192))!=-1){
outputStream.write(bytes,0,len);
}
outputStream.close();
inputStream.close();
}
}
方法二:
不推荐,因为测试环境可以写死,到了生产环境linux系统,这个文件的具体位置不一定知道在哪里
package com.quanjude.test;
import org.springframework.util.ResourceUtils;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.OutputStream;
import java.util.ResourceBundle;
public class Test {
public static void main(String[] args) throws Exception{
// 这里就是读取resource目录下名为 image.properties的文件,再读取文件里的address的值,也就是图片路径
ResourceBundle bundle = ResourceBundle.getBundle("image");
String string = bundle.getString("address");
File file = ResourceUtils.getFile(string);
FileInputStream inputStream=new FileInputStream(file);
OutputStream outputStream=new FileOutputStream("d:\\Users\\hhh\\Desktop\\复制的图片.png");
int len;
byte[] bytes=new byte[8192];
while ((len=inputStream.read(bytes,0,8192))!=-1){
outputStream.write(bytes,0,len);
}
outputStream.close();
inputStream.close();
}
}