Java的byte数组和文件之间的相互转换

it2025-09-17  5

/** * 根据byte数组,生成文件 * @param bfile 文件数组 * @param filePath 文件存放路径 * @param fileName 文件名称 */ public static void byte2File(byte[] byte,String filePath,String fileName){ BufferedOutputStream bos=null; FileOutputStream fos=null; File file=null; try{ File dir=new File(filePath); if(!dir.exists() && !dir.isDirectory()){//判断文件目录是否存在 dir.mkdirs(); } file=new File(filePath+fileName); fos=new FileOutputStream(file); bos=new BufferedOutputStream(fos); bos.write(byte); } catch(Exception e){ System.out.println(e.getMessage()); e.printStackTrace(); } finally{ try{ if(bos != null){ bos.close(); } if(fos != null){ fos.close(); } } catch(Exception e){ System.out.println(e.getMessage()); e.printStackTrace(); } } } /** * 获得指定文件的byte数组 * @param filePath 文件绝对路径 * @return */ public static byte[] file2Byte(String filePath){ ByteArrayOutputStream bos=null; BufferedInputStream in=null; try{ File file=new File(filePath); if(!file.exists()){ throw new FileNotFoundException("file not exists"); } bos=new ByteArrayOutputStream((int)file.length()); in=new BufferedInputStream(new FileInputStream(file)); int buf_size=1024; byte[] buffer=new byte[buf_size]; int len=0; while(-1 != (len=in.read(buffer,0,buf_size))){ bos.write(buffer,0,len); } return bos.toByteArray(); } catch(Exception e){ System.out.println(e.getMessage()); e.printStackTrace(); return null; } finally{ try{ if(in!=null){ in.close(); } if(bos!=null){ bos.close(); } } catch(Exception e){ System.out.println(e.getMessage()); e.printStackTrace(); } } }
最新回复(0)