工具方法
程序员文章站
2022-05-19 09:05:33
...
1.将二进制数据保存到文件中
/**
* 把二进制数据转成指定后缀名的文件,例如PDF,PNG等
*
* @param contents 二进制数据
* @param filePath 文件存放目录,包括文件名及其后缀,如D:\file\bike.jpg
*/
public static void bytesToFile(byte[] contents, String filePath) {
BufferedInputStream bis = null;
FileOutputStream fos = null;
BufferedOutputStream output = null;
try {
ByteArrayInputStream byteInputStream = new ByteArrayInputStream(contents);
bis = new BufferedInputStream(byteInputStream);
File file = new File(filePath);
// 获取文件的父路径
File path = file.getParentFile();
if (!path.exists()) {
Log.i("waruler", "文件夹不存在,创建。path=" + path);
boolean isCreated = path.mkdirs();
if (!isCreated) {
Log.i("waruler", "创建文件夹失败,path=" + path);
}
}
fos = new FileOutputStream(file);
output = new BufferedOutputStream(fos);
byte[] buffer = new byte[1024];
int length;
while ((length = bis.read(buffer)) != -1) {
output.write(buffer, 0, length);
}
output.flush();
} catch (Exception e) {
Log.i("waruler", "输出文件流时抛异常,filePath=" + filePath, e);
} finally {
try {
if (bis != null) {
bis.close();
}
if (fos != null) {
fos.close();
}
if (output != null) {
output.close();
}
} catch (IOException e0) {
Log.i("waruler", "文件处理失败,filePath=" + filePath, e0);
}
}
}
上一篇: 触发器的简单应用
下一篇: 深入解析C++和JAVA的字符串