您的位置:首页 > 编程语言 > Java开发

JAVA -- 使用BASE64Decoder

2015-12-17 15:43 423 查看

package cn.com.toyota.ucar.webservices.vehiclerepertory;

import java.io.File;

import java.io.FileInputStream;

import java.io.FileOutputStream;

import java.io.OutputStreamWriter;

import sun.misc.BASE64Decoder;

import sun.misc.BASE64Encoder;

/**

* 使用sun.misc.BASE64Decoder和sun.misc.BASE64Encoder

* 完成文件转化二进制之间互相转化

* @author Ginger_Z

*

*/

public class BASE64test {

/**

*

* @param path 目标文件

* @param path2 生成文件

* @return

* @throws Exception

*/

public static void encodeBase64File(String path,String path2) throws Exception {

File file = new File(path);//创建目标文件对象

FileInputStream inputFile = new FileInputStream(file);//输入流

FileOutputStream out=new FileOutputStream(path2);//输出流

OutputStreamWriter osw=new OutputStreamWriter(out);//文字写入流

//文件读取时未使用缓冲,一次性读取

byte[] buffer = new byte[(int) file.length()];

inputFile.read(buffer);

inputFile.close();

//new BASE64Encoder().encode(buffer返回String类型的字符串

//再使用文字输出流将其写出

osw.write((new BASE64Encoder().encode(buffer)));

osw.close();

out.close();

}

public static void main(String[] args) {

String path="C:\\Users\\Public\\Pictures\\Sample Pictures\\EAG42EqA_2560x1600.jpg";

String path1="C:\\Users\\Public\\Pictures\\Sample Pictures\\EAG42EqA_2560x16002.txt";

try {

encodeBase64File(path,path1);

File file=new File(path1);

FileInputStream fis=new FileInputStream(file);

FileOutputStream fos=new FileOutputStream("C:\\Users\\Public\\Pictures\\Sample Pictures\\EAG42EqA_2560x16003.jpg");

BASE64Decoder bd=new BASE64Decoder();

byte[] b=bd.decodeBuffer(fis);

fos.write(b);

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: