/**
* 获得指定文件的byte数组
*/
private 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 文件和byte数组转换
时间: 2024-10-08 16:20:00
Java 文件和byte数组转换的相关文章
android开发:把一个byte数组转换成wav音频文件,并且播放
============问题描述============ 如题,byte数组转换成wav音频文件,并且播放,下面代码能生成data/data/com.example.playwav/cache/temp.wav 但是在播放的时候报异常. 我把代码和Log贴在下面了. 我分析,原因应该是wav文件格式的编解码问题,不能这么随随便便把任意的一个byte数组就转化为了wav 希望了解wav编解码开发的童鞋给点解决办法 byte[] a = { 52, 51, 48, 28, 58, 64, 98,-1
java整型数与网络字节序的 byte[] 数组转换关系
java整型数与网络字节序的 byte[] 数组转换关系 工作项目需要在java和c/c++之间进行socket通信,socket通信是以字节流或者字节包进行的,socket发送方须将数据转换为字节流或者字节包,而接收方则将字节流和字节包再转换回相应的数据类型.如果发送方和接收方都是同种语言,则一般只涉及到字节序的调整.而对于java和c/c++的通信,则情况就要复杂一些,主要是因为java中没有unsigned类型,并且java和c在某些数据类型上的长度不一致. 本文就是针对这种情况,整理了j
java的byte数组转换成在[0,255]范围内
C#的byte 是 0-255java的byte 是 -128-127 java的byte数组转换成在[0,255]范围内int data[]= new int[bytes.length];for(int i=0;i<bytes.length;i++) { data[i] = bytes[i] & 0xff;}
Java 基础类型转换byte数组, byte数组转换基础类型
Java 基础类型转换byte数组, byte数组转换基础类型 Java类型转换 java类对象转化为byte数组
java File和Byte[]数组 相互转换
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 = "
Redis入门 – Jedis存储Java对象 - (Java序列化为byte数组方式)
Redis入门 – Jedis存储Java对象 - (Java序列化为byte数组方式) 原文地址:http://alanland.iteye.com/admin/blogs/1600685(欢迎转载 - 转载请保留该原文链接) 07/19/12 03:08:05 PM 在Jedis开发中,我们很多时候希望直接把一个对象放到Redis中,然后在需要的时候取出来.Redis的key和value都支持二进制安全的字符串,存储Java对象不是问题,下面我们看一下如何来实现. 1要存储的对象 现在写一个
php多文件上传数组 转换
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><body> <form action="" method="post" encty
Java:集合与数组转换
List,Set转换为数组的方法.toArray函数有两种形式,一种无参数,一种带参数,注意带参数形式中,要指明数组的大小. 程序代码: 1 2 3 4 5 6 7 8 9 public void convertCollectionToArray() { List list = new ArrayList(); Object[] objectArray1 = list.toArray(); String[] array1 = list.toArray(new String[list.size()
Java 图片与byte数组互相转换
1 //图片到byte数组 2 public byte[] image2byte(String path){ 3 byte[] data = null; 4 FileImageInputStream input = null; 5 try { 6 input = new FileImageInputStream(new File(path)); 7 ByteArrayOutputStream output = new ByteArrayOutputStream(); 8 byte[] buf =