文件与byte[]互转

        前段时间写一个供android程序调用的webservice,之中一个接口要根据传来的图片地址转换成byte[]返回,现记录下来以备再用。代码如下:

/*
 * 根据图片的网络地址,将图片转化成byte[]
 */
public byte[] getImageToBytes(String imgPath) {

	byte[] bytes = null;

	imgPath = "http://127.0.0.1:8080/upload/"+ imgPath;
	System.out.println(imgPath);

	ByteArrayOutputStream out = new ByteArrayOutputStream();

	try {
		//创建URL
		URL url = new URL(imgPath);
		//得到连接
		HttpURLConnection urlConn = (HttpURLConnection)url.openConnection();
		//得到连接地址的输入流
		InputStream in = urlConn.getInputStream();

		int size;
		//缓冲值
		bytes = new byte[1024];
		if(in != null){
			//循环读输入流至read返回-1为止,并写到缓存中
			while((size=in.read(bytes)) != -1){
				out.write(bytes, 0, size);
			}
		}
		out.close();//关闭输出流
		in.close();//关闭输入流
		urlConn.disconnect();//断开连接

		} catch (Exception e) {
			e.printStackTrace();
		}

		return out.toByteArray();
}
/*
 * 将byte[]数组转成image存到本地
 */
public void bytesToImgSave(byte[] b,String imgFileType) throws Exception{
	//UUID序列号作为保存图片的名称
	String name = UUID.randomUUID().toString();

	File f = new File("E:\\upload");

	//是否存在该目录,如果不存在则创建
	if(!f.isDirectory()){
		f.mkdirs();
	}

	OutputStream os = new FileOutputStream(new File(f.getAbsolutePath()+"\\"+name+"."+imgFileType));
	os.write(b);
	os.flush();
	os.close();
}









  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值