Я использую java IO для копирования изображения, но получаю другой размер. исходное изображение " eye.jpg " - 225995 КБ, копия " eyecopy2.jpg " - 226304. И я программирую, чтобы получить размер eye.jpg , это 226304кб. Я открываю копию, это правильно. Интересно, если это нормально?
byte[] data=null;
try {
InputStream is = new FileInputStream("eye.jpg");
ByteArrayOutputStream os=new ByteArrayOutputStream();
copy(is, os);
data=os.toByteArray();
System.out.println(data.length);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
InputStream is = new ByteArrayInputStream(data);
OutputStream os=new FileOutputStream("eyecopy2.jpg");
copy(is, os);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
функция копирования
public static void copy(InputStream is,OutputStream os) {
try {
byte[] data=new byte[1024];
int len=-1;
while((len=is.read(data))!=-1) {
os.write(data,0,data.length);
}
os.flush();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
if(null!=os) {
try {
os.close();
} catch (IOException e) {
// TODO: handle exception
}
}
if(null!=is) {
try {
is.close();
} catch (IOException e2) {
// TODO: handle exception
}
}
}
}