java File和Byte[]數組 相互轉換
阿新 • • 發佈:2017-06-10
rac ring eno print [] director mkdir int num
public class Test {
public static void main(String[] args){
String filePath = "E:\\softoon\\workspace_softoon\\TestMobile\\src\\1.docx";
String outFilePath = "E:\\softoon\\workspace_softoon\\TestMobile\\src";
String outFileName = "2.docx";
getFile(
getBytes(filePath),outFilePath,outFileName);}
// ----------------獲得指定文件的byte數組 ----------------
public static byte[] getBytes(String filePath){
byte[] buffer = null;
try {
File file = new File(filePath);
FileInputStream fis = new FileInputStream
(file);ByteArrayOutputStream bos = new ByteArrayOutputStream(1000);
byte[] b = new byte[1000];
int n;
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數組,生成文件 ----------------
public static void getFile(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();
}
}
}
}
}
java File和Byte[]數組 相互轉換