图片转字符串

    本范例提供将图片BASE64编码为字符串,将字符串解密生成图片的功能。

 

/**
	 * Base64编码并生成字符串
	 */
	public static String image2String(File imageFile){
		InputStream in = null;
		byte[] data = null;
		try {
			//读取图片字节数组
			in = new FileInputStream(imageFile);
			data = new byte[in.available()];
			in.read(data);
			in.close();
			
			//对字节数组Base64编码
			BASE64Encoder encoder = new BASE64Encoder();
			String imageStringData = encoder.encode(data);
			return imageStringData;
		} catch (IOException e) {
			e.printStackTrace();
		} 
		return null;
	}
	
	/**
	 * Base64解码并生成图片
	 */
	public static void string2Image(String imageStringData, String destFile) {
		try{
			//调整异常数据
			BASE64Decoder decoder = new BASE64Decoder();
			byte[] b = decoder.decodeBuffer(imageStringData);
			for (int i = 0; i < b.length; ++i) {
				if (b[i] < 0) { 
					b[i] += 256;
				}
			}
			
			//生成图片
			OutputStream out = new FileOutputStream(destFile);
			out.write(b);
			out.flush();
			out.close();
		}catch(Exception ex){
			ex.printStackTrace();
		}
	}
	
	public static void main(String[] args) {
		String imgFile = "e:\\arrive.jpg";
		
		//Base64编码图片成字符串
		String imageStringData = image2String(new File(imgFile));
		System.out.println(imageStringData);
		
		//Base64解码字符串并生成图片
		string2Image(imageStringData, "e:\\arrive_new.png");
		System.out.println("OK");
	}

 

你可能感兴趣的:(Java)