File文件转byte数组
public static byte[] fileToBytes(File file) throws IOException {
FileInputStream fis=null;
ByteArrayOutputStream bos = null;
byte[] resultBytes=null;
try {
fis=new FileInputStream(file);
bos=new ByteArrayOutputStream();
byte[] bytes=new byte[1024];
int len;
while((len=fis.read(bytes))!=-1){
bos.write(bytes,0,len);
}
resultBytes = bos.toByteArray();
} catch (IOException e) {
e.printStackTrace();
} finally {
bos.close();
fis.close();
}
return resultBytes;
}
byte数组转File文件
第一种:
/**
* byte数组转成file文件
* @param bytes
*/
public static void bytesToFile(byte [] bytes,String path) throws IOException {
//根据路径创建对象,路径不存在会自动创建
FileOutputStream fos=new FileOutputStream(path);
//将bytes数组读取到文件中
fos.write(bytes,0,bytes.length);
fos.close();
}
第二种:
/**
* byte数组转成file文件
* @param bytes
*/
public static File bytesToFile2(byte [] bytes,String path) throws IOException {
File file=new File(path);
File parentFile = file.getParentFile();
if(!parentFile.exists()){
parentFile.mkdirs();
}
if(file.exists()){
file.createNewFile();
}
//根据file对象为参数创建对象,前提必须保证file是存在的,否则会报找不到文件的错误
FileOutputStream fos=new FileOutputStream(file);
//将bytes数组读取到文件中
fos.write(bytes,0,bytes.length);
fos.close();
return file;
}