package com.chj.io;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
/**
* 1、图片读取到字节数组中
* 2、字节数组写出到文件
* @author Administrator
*
*/
public class IOTest09 {
public static void main(String[] args) {
byte[] datas=fileToByteArray("girl.png");
byteArrayToFile(datas, "copygirl.png");
}
/**
* 1、图片读到字节数组
*/
public static byte[] fileToByteArray(String filepath){
File src=new File(filepath);
byte[] dest=null;
InputStream is=null;
ByteArrayOutputStream baos=null;
try {
is=new FileInputStream(src);
baos=new ByteArrayOutputStream();
byte[] buffer=new byte[1024*10];
int len=-1;
while((len=is.read(buffer))!=-1) {
baos.write(buffer, 0,len);//写出到字节数组中
}
baos.flush();
return baos.toByteArray();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
if(null!=is) {
try {
is.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if(null!=baos) {
try {
baos.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
return null;
}
//字节数组读到图片
public static void byteArrayToFile(byte[] datas,String destpath) {
File dest=new File(destpath);
OutputStream os=null;
try {
os=new FileOutputStream(dest);
os.write(datas,0,datas.length);
}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 Auto-generated catch block
e.printStackTrace();
}
}
}
}
}
【JAVA】IO之对接流样例,图片读到字节数组中,再写出到文件实现拷贝
最新推荐文章于 2022-02-11 09:17:32 发布