我不明白的是,为什么这个图片的大小明明有10000字节。可是我这里才把字节数组定义为2。怎么就把这个图片10000字节都读取出来并且写入到了新图片文件中了呢?这个读取和写入的过程是怎...
我不明白的是,为什么这个图片的大小明明有10000字节。可是我这里才把字节数组定义为2。怎么就把这个图片10000字节都读取出来并且写入到 了新图片文件中了呢?
这个读取和写入的过程是怎么样的啊?非常感谢。
public static void main(String[] args) throws IOException {
File file=new File("F:\\psu.jpg");
FileInputStream is=new FileInputStream(file);
byte []b=new byte[2];
int i=is.read(b);
File copyfile=new File("F:\\psucopy.jpg");
copyfile.createNewFile();
FileOutputStream os=new FileOutputStream(copyfile);
while(i!=-1){
os.write(b, 0, b.length);
i=is.read(b, 0, b.length);
}
is.close();
os.close();
}
下面是我自己这样写的代码我是先获取图片字节大小然后也可以复制一张图片。我这样些有什么问题?
public static void ReadAndWrite() throws Exception {
//输入一张图片所在的路径
File file = new File("F:\\123.jpg");
InputStream in = new FileInputStream(file);
byte[] bytearray = new byte[692225];
int length = in.read(bytearray);
while (length != -1) {
length = in.read(bytearray);
}
in.close();
//输入一个路径用于存放复制的图片
File file1 = new File("F:\\12345.jpg");
file1.createNewFile();
OutputStream out = new FileOutputStream(file1);
out.write(bytearray);
out.close();
}
展开