Java File和byte数据之间的转换
2013-11-05 23:51
344 查看
package cn.iworker.file; import java.io.BufferedOutputStream; import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; public class FileTest { public static void main(String[] args) { file2BetyArray(); fileToBetyArray(); BetyToFile("D:\\Study\\Java\\First.class"); } public static byte[] file2BetyArray() { File file = new File("D:\\Study\\Java\\First.class"); if (!file.exists()) { return null; } FileInputStream stream = null; ByteArrayOutputStream out = null; try { stream = new FileInputStream(file); out = new ByteArrayOutputStream(1000); byte[] b = new byte[1000]; int n; while ((n = stream.read(b)) != -1) { out.write(b, 0, n); } return out.toByteArray();// 此方法大文件OutOfMemory } catch (Exception e) { System.out.println(e.toString()); } finally { try { stream.close(); out.close(); } catch (IOException e) { e.printStackTrace(); } } return null; } public static byte[] fileToBetyArray() { FileInputStream fileInputStream = null; File file = new File("D:\\Study\\Java\\First.class"); byte[] bFile = null; try { bFile = new byte[(int) file.length()]; fileInputStream = new FileInputStream(file); fileInputStream.read(bFile); fileInputStream.close(); for (int i = 0; i < bFile.length; i++) { System.out.print((char) bFile[i]); } System.out.println("Done"); } catch (Exception e) { e.printStackTrace(); } finally { try { fileInputStream.close(); bFile.clone(); } catch (IOException e) { e.printStackTrace(); } } return bFile; } public static File BetyToFile( String filePath) { File file = new File(filePath); BufferedOutputStream stream = null; FileOutputStream fstream = null; byte[] data=new byte[(int)file.length()]; try { fstream = new FileOutputStream(file); stream = new BufferedOutputStream(fstream); stream.write(data); } catch (Exception e) { e.printStackTrace(); } finally { try { if (stream != null) { stream.close(); } if (null != fstream) { fstream.close(); } } catch (IOException e1) { e1.printStackTrace(); } } return file; } }
相关文章推荐
- mybatis3+spring3报错: No bean named 'cImsiDAO' is defined
- jsp+javaBean 计算器实例
- Java ClassLoader详解(转载)
- struts2 result-type
- Java进阶5 面向对象的陷阱
- Java进阶2 数组内存和对象的内存管理知识
- Java进阶4表达式中的陷阱
- Java进阶3. 内存回收机制
- Java进阶1. Synchronized 关键字
- eclipse jsp formatter
- 《java未眠夜》书摘
- Java复习9网路编程
- Java复习10.Servlet编程
- Java复习8.多线程
- java中的 Set转List
- struts2 拦截器 interceptor
- 如何设计一款Java框架?
- Java复习6异常处理
- Java复习4.数组初始化.
- Java复习7.输入输出流