packagecn.iworker.file;importjava.io.BufferedOutputStream;importjava.io.ByteArrayOutputStream;importjava.io.File;importjava.io.FileInputStream;importjava.io.FileOutputStream;importjava.io.IOException;public classFileTest
{public static voidmain(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= newFileInputStream(file);
out= new ByteArrayOutputStream(1000);byte[] b = new byte[1000];intn;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= newFileInputStream(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();
}
}returnbFile;
}public staticFile BetyToFile( String filePath)
{
File file= newFile(filePath);
BufferedOutputStream stream= null;
FileOutputStream fstream= null;byte[] data=new byte[(int)file.length()];try{
fstream= newFileOutputStream(file);
stream= newBufferedOutputStream(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();
}
}returnfile;
}
}