javabase64 1.3 manual

Index

  1. Requirements
  2. Installation
  3. Javadocs
  4. Quickstart
  5. Encoding with Base64OutputStream
  6. Decoding with Base64InputStream

Requirements

To run the javabase64 library you need a Java Runtime Environment J2SE v. 1.2 or later.

Installation

Add thejavabase64-1.3.jarfile to your application classpath, and you'll be automatically enabled to the use of the javabase64 classes.

Javadocs

Here come thejavabase64 javadocs.

Quickstart

The javabase64 library consists of two streams and a utility class.

Theit.sauronsoftware.base64.Base64utility class is, in most of cases, has everything you need to encode and decode.

First of all, you should tell apart if you have to encode/decode a string or a binary stream.

If you want to encode a string, you can easily call:

String encoded = Base64.encode("Hello, world!");

The result of this operation is a Base64 encoded string, that you can decode back later by calling:

String decoded = Base64.decode(encoded);

You can force the use of a specific charset during strings encoding and decoding operations:

String encoded = Base64.encode("Hello, world!", "UTF-8");
String decoded = Base64.decode(encoded, "UTF-8");

If you are working with binary data (i.e. images) you can use other forms of theencode()anddecode()methods.

If data are not large and you handle them directly in memory, using a byte array:

byte[] source = ...; // load your data here
byte[] encoded = Base64.encode(source);
byte[] decoded = Base64.decode(encoded);

Larger data are better handled with streams. The next sample code encodes a file to another, usingjava.io.InputStreamandjava.io.OutputStreamobjects:

InputStream inputStream = new FileInputStream("source.jpg");
OutputStream outputStream = new FileOutputStream("encoded.b64");
Base64.encode(inputStream, outputStream);
outputStream.close();
inputStream.close();

In similar manner, a stream can be decoded:

InputStream inputStream = new FileInputStream("encoded.b64");
OutputStream outputStream = new FileOutputStream("decoded.jpg");
Base64.decode(inputStream, outputStream);
outputStream.close();
inputStream.close();

Shortcuts forjava.io.Fileobjects are provided. Encoding from a file to another:

File source = new File("source.jpg");
File encoded = new File("encoded.b64");
Base64.encode(source, encoded);

Decoding from a file to another:

File encoded = new File("encoded.b64");
File decoded = new File("decoded.jpg");
Base64.decode(encoded, decoded);

Encoding with Base64OutputStream

You can gain more control on the encoding process by avoiding the use of the static utilities in theBase64class and by using directly ait.sauronsoftware.base64.Base64OutputStreaminstance.

TheBase64OutputStreamextendsjava.io.OutputStreamand works as many other well know Java streams.

You can create aBase64OutputStreamby wrapping another existingOutputStream:

Base64OutputStream encodingStream = new Base64OutputStream(myOutputStream);

I.e. you can send encoded data directly to a file by calling:

Base64OutputStream encodingStream = new Base64OutputStream(new FileOutputStream("encoded.b64"));

Now you can write your bytes in the stream as you would do with a common output stream. Data will be automatically encoded by theBase64OutputStreamclass.

encodingStream.write(bytes);

Don't forget to close the stream when the writing operation is completed. This is necessary to finalize the encoded data line.

encodingStream.close();

By default,Base64OutputStreamwraps to a new line every 76 bytes sent to the underlying output stream. This behavior can be changed by supplying an alternativewrapAtvalue to theBase64OutputStreamconstructor:

Base64OutputStream encodingStream = new Base64OutputStream(myOutputStream, 48);

A value less than 1 disables wrapping:

Base64OutputStream encodingStream = new Base64OutputStream(myOutputStream, 0);

Decoding with Base64InputStream

You can gain more control on the decoding process by using ait.sauronsoftware.base64.Base64InputStreaminstance.

TheBase64InputStreamextendsjava.io.InputStreamand works as many other well know Java streams.

You can create aBase64InputStreamby wrapping another existingInputStream:

Base64InputStream decodingStream = new Base64InputStream(myInputStream);

I.e. you can read decoded data directly from an encoded file by calling:

Base64InputStream decodingStream = new Base64InputStream(new FileInputStream("encoded.b64"));

Now you can read your bytes from the stream as you would do with a common input stream. Data will be automatically decoded by theBase64InputStreamclass.

decodingStream.read(bytes);

Don't forget to close the stream when the reading operation is completed.

decodingStream.close();
转自:http://www.sauronsoftware.it/projects/javabase64/manual.php
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值