将桌面的图片利用IO流字节输入输出,将图片复制到根目录下!
举个栗子,我复制的是这个图片:
那么看一下图片大小!(注意:字节数!)
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
public class TestFileIO {
public static void main(String[] args) throws IOException {
//将指定图片,上传到项目根目录下
//文件是在存储设备中的-->读到程序中-->写到存储设备中
//输出流
FileInputStream fileInputStream = new FileInputStream("C:\\Users\\89698\\Desktop\\素材\\举个栗子.jpg");
//输出流
FileOutputStream fileOutputStream = new FileOutputStream("Files\\Ziph给你举个栗子.jpg");
//这里注意我的这个图片是:8.60 KB (8,813 字节)
//第一种、
//我们可以根据字节数分配字节给byte数组
// byte[] bytes = new byte[9000];//9000个字节够用了
// fileOutputStream.write(bytes);
//这时会出现一个问题,复制过去的图片大小是:8.78 KB (9,000 字节)
//上述第一种做法因此引出来一个问题,如果你不知道图片的大小怎么复制呢?
//第二种、
int len = 0;//代表每次读到的字节
while ((len = fileInputStream.read()) != -1) {//只要不读到-1(也就是说读到的全是有效字节)
fileOutputStream.write(len);//读多少,写多少——复制后的图片文件大小为原来的大小:8.60 KB (8,813 字节)
}
//释放资源
fileInputStream.close();
fileOutputStream.close();
}
}