/*
*/ /* * A test of the undocumented sun.misc.Base64Encoder and * sun.misc.Base64Decoder classes */ import java.io.*; import sun.misc.BASE64Encoder; import sun.misc.BASE64Decoder; public class Base64Test { public static void main (String[] args) { String str = ""; String fileName = ""; switch (args.length) { case 0 : System.out.println("USAGE: java Base64Test stringToEncode [fileToEncode]"); return; case 1 : str = args[0]; break; default : str = args[0]; fileName = args[1]; break; } try { BASE64Encoder encoder = new BASE64Encoder(); BASE64Decoder decoder = new BASE64Decoder(); String encodedStr = encoder.encodeBuffer(str.getBytes()); byte[] decodedStr = decoder.decodeBuffer(encodedStr); System.out.println("Original String = " + str); System.out.println(" Encoded String = " + encodedStr); System.out.println(" Decoded String = " + new String(decodedStr)); if (fileName.length() > 0) { // the encodeBuffer and decodeBuffer methods can also // accept an InputStream and an OutputStream as parameters, // which is handy for working with files String encFileName = fileName + ".enc"; String decFileName = fileName + ".dec"; FileInputStream in = new FileInputStream(fileName); FileOutputStream out = new FileOutputStream(encFileName); encoder.encodeBuffer(in, out); in.close(); out.close(); in = new FileInputStream(encFileName); out = new FileOutputStream(decFileName); decoder.decodeBuffer(in, out); in.close(); out.close(); System.out.println("\nOriginal File = " + fileName); System.out.println(" Encoded File = " + encFileName); System.out.println(" Decoded File = " + decFileName); } } catch (Exception e) { e.printStackTrace(); } } }