English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Java image and byte array conversion example

Exemple suivant :

//image en tableau de bytes
 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;
 }
 //tableau de bytes en image
 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("Réaliser l'image réussi, veuillez trouver l'image dans ") + path);
  }
   System.out.println("Exception: ") + ex);
   ex.printStackTrace();
  }
 }
 //tableau de bytes en16chaine de chiffres en système de numération
 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];
  //Conversion de tableau de bytes en décimal
  for(int k=0;k<data.length;k++{
   buf[k] = data[k] < 0 &63;(data[k]+256) : (data[k]);
  }
  //Conversion de décimal à hexadécimal
  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();
 } 

Analyse de fichier :

FileImageOutputStream est remplacé par FileOutputStream
FileImageInputStream est remplacé par FileInputStream

La présente exemple de conversion d'image Java et de tableau de bytes est tout ce que l'éditeur partage avec vous. J'espère que cela vous servira de référence et que vous continuerez à soutenir le tutoriel d'entraînement.

You may also like