Convert string to image java
Below is program which will convert string to image java .
We are using Apache commons codec library to convert image to Base64 string so we need commons-codec-1.9.jar or latest version and this you could directly download from Apache site here or also download from bottom of the page download link.
Steps are below:
- Read image from local system or from the network
- Convert it to byte array
- Convert byte array to Base64 string
- Convert Base64 string to byte array and write back to the file
package com.javahonk; import java.io.ByteArrayOutputStream; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import org.apache.commons.codec.binary.Base64; public class ConvertStringToImage { public static void main(String[] args) { //Convert image to string System.out.println("Convert image to string"); String imageString = convertImageToString(); System.out.println("String representation of image:" +imageString); System.out.println("Convert image to string done"); //Convert string to image System.out.println("Convert String to image"); convertStringToImageByteArray(imageString); System.out.println("Convert String to image done"); } private static String convertImageToString(){ InputStream inputStream = null; String imageString = null; ByteArrayOutputStream baos = new ByteArrayOutputStream(); try { inputStream = new FileInputStream("resources" + "\\Spring.png"); byte[] buffer = new byte[1024]; baos = new ByteArrayOutputStream(); int bytesRead; while ((bytesRead = inputStream.read(buffer)) != -1) { baos.write(buffer, 0, bytesRead); } byte[] imageBytes = baos.toByteArray(); imageString = Base64.encodeBase64String(imageBytes); } catch (IOException e) { e.printStackTrace(); }finally{ try { baos.close(); inputStream.close(); } catch (IOException e) { e.printStackTrace(); } } return imageString; } private static void convertStringToImageByteArray(String imageString){ OutputStream outputStream = null; byte [] imageInByteArray = Base64.decodeBase64( imageString); try { outputStream = new FileOutputStream("resources" + "\\Spring2.png"); outputStream.write(imageInByteArray); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); }finally{ try { outputStream.close(); } catch (IOException e) { e.printStackTrace(); } } } }
Output:
Download commons-codec-1.9.jar: commons-codec-1.9
That’s it convert string to image java completed.