Java中文件与字节数组转换
注:来源于JavaEye
文件转化为字节数组:
http://www.javaeye.com/topic/304980
- /**
- * 文件转化为字节数组
- *
- * @param file
- * @return
- */
- public static byte[] getBytesFromFile(File file) {
- byte[] ret = null;
- try {
- if (file == null) {
- // log.error("helper:the file is null!");
- return null;
- }
- FileInputStream in = new FileInputStream(file);
- ByteArrayOutputStream out = new ByteArrayOutputStream(4096);
- byte[] b = new byte[4096];
- int n;
- while ((n = in.read(b)) != -1) {
- out.write(b, 0, n);
- }
- in.close();
- out.close();
- ret = out.toByteArray();
- } catch (IOException e) {
- // log.error("helper:get bytes from file process error!");
- e.printStackTrace();
- }
- return ret;
- }
字节数组转化为文件
http://www.javaeye.com/topic/304982
- /**
- * 把字节数组保存为一个文件
- *
- * @param b
- * @param outputFile
- * @return
- */
- public static File getFileFromBytes(byte[] b, String outputFile) {
- File ret = null;
- BufferedOutputStream stream = null;
- try {
- ret = new File(outputFile);
- FileOutputStream fstream = new FileOutputStream(ret);
- stream = new BufferedOutputStream(fstream);
- stream.write(b);
- } catch (Exception e) {
- // log.error("helper:get file from byte process error!");
- e.printStackTrace();
- } finally {
- if (stream != null) {
- try {
- stream.close();
- } catch (IOException e) {
- // log.error("helper:get file from byte process error!");
- e.printStackTrace();
- }
- }
- }
- return ret;
- }