`

commons-codec-1.8使用Base64编解码

    博客分类:
  • java
 
阅读更多
package com;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;

import org.apache.commons.codec.binary.Base64;

public class R {

	public static void main(String[] args) throws Exception {
		Base64WithImage t = new Base64WithImage();
		t.process();
	}

	public static Exception test() throws Exception {
		try {
			throw new IOException();
		} catch (IOException e) {
			System.out.println("cath");
			return new Exception();
		} finally {
			System.out.println("final");
		}
	}
}

class Base64WithImage {
	public static String TXT = "E:/test.txt";
	public static String IMAGE = "E:/test_copy.png";
	public static byte[] data;
	public static String content;

	public Base64WithImage() throws IOException {
		File file = new File(IMAGE);
		FileInputStream in = new FileInputStream(file);
		data = new byte[in.available()];
		in.read(data);
		in.close();
	}

	public String image2Base64() throws IOException {
		/*
		 * Base64 encoder = new Base64(); data = encoder.encode(data);
		 */
		data = Base64.encodeBase64(data);
		System.out.println(data);
		StringBuffer sb = new StringBuffer();

		for (byte bt : data) {
			sb.append((char) bt);
		}
		content = sb.toString();
		return sb.toString();
	}

	public void writeBase642TXT() throws IOException {
		File file = new File(TXT);
		FileOutputStream fos = new FileOutputStream(file);

		fos.write(content.getBytes());
		fos.close();
	}

	public void Base642Image() throws IOException {
		byte[] da = Base64.decodeBase64(content);

		FileOutputStream fos = null;
		try {
			File file = new File(TXT);
			fos = new FileOutputStream(file);
			fos.write(da);
			fos.flush();
		} catch (IOException e) {
			e.printStackTrace();
		} finally {
			fos.close();
		}
	}

	public String readTXT() throws IOException {
		File file = new File(TXT);
		FileInputStream fis = new FileInputStream(file);
		System.out.println(fis.available());

		byte[] c = new byte[fis.available()];
		fis.read(c);
		fis.close();
		System.out.println(new String(c));
		return new String(c);
	}

	public void writeImage(byte[] data) throws IOException {
		File file = new File("E:/tt.png");
		FileOutputStream fos = new FileOutputStream(file);
		fos.write(data);
		fos.flush();
		fos.close();
	}

	public void process() throws IOException {
		image2Base64();
		writeBase642TXT();

		String c = readTXT();
		byte[] da = Base64.decodeBase64(c);
		writeImage(da);
	}
}
分享到:
评论

相关推荐

    commons-codec-android-1.15

    Commons Codec是Apache软件基金会开发的一个Java库,它提供了一系列编码和解码的工具,包括Base64、Hex、Phonetic、BCodec等。在Android平台上,由于原生的Java库可能不完全支持或者性能不佳,因此有了"commons-...

    org.apache.commons.codec-1.8

    以下是对`org.apache.commons.codec-1.8`中主要功能的详细解析: 1. **Base64编码和解码**: - `Base64`类提供了对Base64编码和解码的支持。Base64是一种将任意二进制数据转换为ASCII字符串的方法,常用于在网络上...

    commons-codec-1.16.0.jar

    commons-codec-1.16.0.jar Base64编码和解码

    commons-codec 多个版本 1.5/1.9/1.10/1.11/1.13/1.14

    commons-codec是Apache开源组织提供的用于摘要运算、编码解码的包。常见的编码解码工具Base64、MD5、Hex、SHA1、DES等。里面包含多个版本架包,commons-codec 多个版本 1.5/1.9/1.10/1.11/1.13/1.14

    apache-commons-codec-1.4.jar和sun.misc.BASE64Encoder.jar

    Apache Commons Codec库与Java中的BASE64编码与解码 Apache Commons Codec是一个开源项目,它提供了各种编码和解码算法的实现,包括但不限于ASCII、URL、Unicode、HEX以及我们在此关注的BASE64编码。在给定的压缩包...

    Base64 加解码的包(commons-codec-1.9.jar 和javabase64-1.3.1)

    Apache Commons Codec是Apache软件基金会的一个项目,它提供了一组编解码器,包括Base64编码。在`commons-codec-1.9.jar`中,我们可以找到`org.apache.commons.codec.binary.Base64`类,该类提供了Base64的编码和...

    commons-httpclient-3.0与commons-codec-1.8

    Apache Commons Codec 1.8 是另一个独立的库,它提供了多种编码和解码算法,包括Base64、Hex、URL编码/解码、电话号码编码等。在HttpClient中,Codec库常用于处理URL编码,确保URL参数是安全的,并符合HTTP规范。...

    commons-codec.jar

    1. **Base64编码与解码**:Base64是一种在网络上传输二进制数据时常用的编码方式,`commons-codec`提供了高效的Base64编码和解码API,使得开发者能够轻松地处理Base64字符串。 2. **Hex编码与解码**:Hex编码将字节...

    BASE64来自commons-codec-1.10

    这个主题源自Apache Commons Codec库的1.10版本,它是一个强大的Java库,提供了各种编码和解码功能,包括Base64。下面将详细阐述Base64以及Apache Commons Codec库的相关知识点。 Base64是一种基于64个可打印字符的...

    commons-codec-1.8

    Apache Commons Codec库提供了`BaseNCodec`类族,其中包括了`Base64`、`Base32`和`Hex`,用于进行基本的Base64、Base32和十六进制编码和解码。例如,`Base64`类可以方便地处理符合RFC 2045标准的Base64编码,这对于...

    commons-codec-1.10.jar

    Apache Commons Codec是Java开发中常用的一个开源库,它提供了多种编码和解码的实现,包括但不限于Base64、Hex、Phonetic、URL和其他多种编码方式。在Java世界里,Commons Codec库扮演着一个重要的角色,为开发者...

    commons-codec-1.13.zip

    - Apache Commons Codec库中最常用的功能之一就是Base64编码和解码。Base64是一种用于将任意二进制数据转换为ASCII字符格式的方法,以便在网络传输或存储时能安全地处理非ASCII字符。在电子邮件、HTTP头和其他需要...

    commons-codec-1.9.jar

    在提供的压缩文件中,我们看到一个名为"DES-加密专用commonscodec1.9.jar"的文件,这暗示了Apache Commons Codec库也常被用于加密操作。DES(Data Encryption Standard)是一种广泛使用的对称加密算法,虽然现在已被...

    commons-codec-1.14.zip

    Apache Commons Codec库是Java开发中的一个实用工具集,...然后,开发人员就可以直接使用`org.apache.commons.codec.binary.Base64`类提供的方法,进行Base64编码和解码操作,极大地简化了开发流程,提升了开发效率。

    MD5加密依赖包commons-codec-1.11.jar

    `commons-codec-1.11.jar`是Apache Commons Codec库的一个版本,这个库提供了多种编码和解码功能,包括电话号码编码、URL编码、Base64编码、以及我们的关注点——MD5哈希函数。Apache Commons Codec是一个Java类库,...

    commons-codec-1.8-bin.tar.gz

    在本篇文章中,我们将深入探讨Apache Commons Codec库的核心功能,并通过具体的文件"commons-codec-1.8-bin.tar.gz"来展示其实现和使用方法。 首先,"commons-codec-1.8-bin.tar.gz"是一个压缩包文件,其中包含了...

    commons-codec-1.11官网资源

    Apache Commons Codec库是Java开发人员的一个重要工具,它包含了各种编码和解码算法,比如Base64、Hex、Phonetic、URL、以及国际电话号码等。在这个"commons-codec-1.11"版本中,我们有以下关键知识点: 1. **Base...

    commons-codec1.11到1.13

    import org.apache.commons.codec.binary.Base64; byte[] bytes = "Hello, World!".getBytes("UTF-8"); String encodedString = Base64.encodeBase64String(bytes); ``` - URL编码: ```java import org....

    commons-codec.jar;commons-logging-1.1.jar;commons-httpclient-3.1.jar

    Apache Commons Codec库提供了各种编码和解码算法的实现,如Base64、Hex、URL编码和解码等。它使得开发者能够轻松地在Java项目中使用这些编码格式,而无需自己实现。例如,Base64编码常用于在网络上传输二进制数据,...

Global site tag (gtag.js) - Google Analytics