Home > Java > javaTutorial > Example analysis of converting Java images and byte arrays to each other

Example analysis of converting Java images and byte arrays to each other

coldplay.xixi
Release: 2020-07-22 16:16:40
forward
3300 people have browsed it

Example analysis of converting Java images and byte arrays to each other

## Examples are as follows:

//图片到byte数组
 public byte[] image2byte(String path){
  byte[] data = null;
  FileImageInputStream input = null;
  try {
   input = new FileImageInputStream(new File(path));
   ByteArrayOutputStream output = new ByteArrayOutputStream();
   byte[] buf = new byte[1024];
   int numBytesRead = 0;
   while ((numBytesRead = input.read(buf)) != -1) {
   output.write(buf, 0, numBytesRead);
   }
   data = output.toByteArray();
   output.close();
   input.close();
  }
  catch (FileNotFoundException ex1) {
   ex1.printStackTrace();
  }
  catch (IOException ex1) {
   ex1.printStackTrace();
  }
  return data;
 }
 //byte数组到图片
 public void byte2image(byte[] data,String path){
  if(data.length<3||path.equals("")) return;
  try{
  FileImageOutputStream imageOutput = new FileImageOutputStream(new File(path));
  imageOutput.write(data, 0, data.length);
  imageOutput.close();
  System.out.println("Make Picture success,Please find image in " + path);
  } catch(Exception ex) {
   System.out.println("Exception: " + ex);
   ex.printStackTrace();
  }
 }
 //byte数组到16进制字符串
 public String byte2string(byte[] data){
  if(data==null||data.length<=1) return "0x";
  if(data.length>200000) return "0x";
  StringBuffer sb = new StringBuffer();
  int buf[] = new int[data.length];
  //byte数组转化成十进制
  for(int k=0;k<data.length;k++){
   buf[k] = data[k]<0?(data[k]+256):(data[k]);
  }
  //十进制转化成十六进制
  for(int k=0;k<buf.length;k++){
   if(buf[k]<16) sb.append("0"+Integer.toHexString(buf[k]));
   else sb.append(Integer.toHexString(buf[k]));
  }
  return "0x"+sb.toString().toUpperCase();

 }
Copy after login

File analysis:

FileImageOutputStream is replaced by FileOutputStream

FileImageInputStream is replaced by FileInputStream

Related learning recommendations:

Java video Tutorial

The above is the detailed content of Example analysis of converting Java images and byte arrays to each other. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:jb51.net
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template