现在有个rar的压缩包文件,想把它读出来转成一个byte[],应该如何写这个代码?谢谢!
------解决方案--------------------
先解压
- Java code
public static List unzip(FormFile formFile) { if (formFile == null) return null; List list = null; InputStream in = null; ZipInputStream zipInput = null; try { in = formFile.getInputStream(); zipInput = new ZipInputStream(in); ZipEntry zipEntry = null; list = new ArrayList(); while ((zipEntry = zipInput.getNextEntry()) != null) { if (!zipEntry.isDirectory()) { FileBean fb = new FileBean(); int len = new Long(zipEntry.getSize()).intValue(); byte[] data = new byte[len]; int actual = 0; int bytesread = 0; while ((bytesread != len) && (actual != -1)) { actual = zipInput .read(data, bytesread, len - bytesread); bytesread += actual; } fb.setFileSize(len); fb.setFileName(zipEntry.getName()); fb.setFileType(zipEntry.getName().substring( zipEntry.getName().lastIndexOf(".") + 1)); fb.setContents(data); fb.setUploadDate(DateTimeUtil.getToDate()); fb.setUploadTime(DateTimeUtil.getToSecond()); list.add(fb); } } } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } finally { try { if (zipInput != null) { zipInput.close(); } if (in != null) { in.close(); } } catch (Exception ex) { } } return list; }