以下:
/**
* <zip文件转换成byte数组>
* <功能详细描述>
* @param sZipPath
* @return
* @see [类、类#方法、类#成员]
*/
private byte[] changeFileToByte(String sZipPath)
{
byte[] buffer = null;
try
{
File fileZip = new File(sZipPath);
if (!fileZip.exists())
{
logger.debug(".zip格式文件不存在。");
return null;
}
FileInputStream fis = new FileInputStream(fileZip);
ByteArrayOutputStream bos = new ByteArrayOutputStream(1000);
byte[] b = new byte[1000];
int n;
//每次从fis读1000个长度到b中,fis中读完就会返回-1
while ((n = fis.read(b)) != -1)
{
bos.write(b, 0, n);
}
fis.close();
bos.close();
buffer = bos.toByteArray();
}
catch (FileNotFoundException e)
{
e.printStackTrace();
}
catch (IOException e)
{
e.printStackTrace();
}
return buffer;
}
生成文件:
/**
* <根据byte数组来生成文件>
* <功能详细描述>
* @param bfile
* @param filePath
* @param fileName
* @see [类、类#方法、类#成员]
*/
private void createFile(byte[] bfile, 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(bfile);
}
catch (Exception e)
{
e.printStackTrace();
}
finally
{
if (bos != null)
{
try
{
bos.close();
}
catch (IOException e1)
{
e1.printStackTrace();
}
}
if (fos != null)
{
try
{
fos.close();
}
catch (IOException e1)
{
e1.printStackTrace();
}
}
}
}