java文件编码和解码
来源:互联网 发布:怎么恢复手机内置数据 编辑:程序博客网 时间:2024/06/06 20:08
package com.easy.mytest.util;
import java.io.BufferedOutputStream;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
public class T {
public static byte[] getBytes(String filePath) {
byte[] buffer = null;
try {
File file = new File(filePath);
FileInputStream fis = new FileInputStream(file);
ByteArrayOutputStream bos = new ByteArrayOutputStream(1000);
byte[] b = new byte[1000];
int n;
while ((n = fis.read(b)) != -1) {
bos.write(b, 0, n);
}
fis.close();
bos.close();
buffer = bos.toByteArray();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return buffer;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
String str = encode(getBytes("c:\\2014.doc"));
byte[] bb = decode(str);
getFile(bb,"c:","aaabbb.doc");
}
// 编码
public static String encode(byte[] bstr) {
sun.misc.BASE64Encoder encode = new sun.misc.BASE64Encoder();
String s = encode.encodeBuffer(bstr);
return s;
}
// 解码
public static byte[] decode(String str) {
byte[] bt = null;
try {
sun.misc.BASE64Decoder decoder = new sun.misc.BASE64Decoder();
bt = decoder.decodeBuffer(str);
} catch (IOException e) {
e.printStackTrace();
}
return bt;
}
/**
* 根据byte数组,生成文件
*/
public static void getFile(byte[] bfile, String filePath,String fileName) {
BufferedOutputStream bos = null;
FileOutputStream fos = null;
File file = null;
try {
File dir = new File(filePath);
if(!dir.exists()&&dir.isDirectory()){//判断文件目录是否存在
dir.mkdirs();
}
file = new File(filePath+"\\"+fileName);
fos = new FileOutputStream(file);
bos = new BufferedOutputStream(fos);
bos.write(bfile);
} catch (Exception e) {
e.printStackTrace();
} finally {
if (bos != null) {
try {
bos.close();
} catch (IOException e1) {
e1.printStackTrace();
}
}
if (fos != null) {
try {
fos.close();
} catch (IOException e1) {
e1.printStackTrace();
}
}
}
}
}
- java文件编码和解码
- java编码和解码
- java编码和解码
- Java 编码和解码
- JAVA 操作图片和其他文件Base64编码解码
- (java)利用BASE64编码和解码图片文件
- java利用Base64编码和解码图片文件
- java利用Base64编码和解码图片文件
- (java)利用BASE64编码和解码图片文件
- java base64编码和解码
- java base64编码和解码
- java base64编码和解码
- Java Base64编码和解码
- java base64编码和解码
- java base64编码和解码
- java base64编码和解码
- java-base64编码和解码
- java base64编码和解码
- Erlang垃圾回收机制
- NYOJ 35 表达式求值
- 大河银早评[2014年04月29日]
- 屏幕截图
- 怎么进行robot检测
- java文件编码和解码
- 数据结构之哈夫曼树
- 个人赛:Max Sum
- 对象数组空指针异常说明——C#中使用对象数组必须分别为其开辟空间
- Android JUnit Test Unable to execute dex: Multiple dex files define 解决方法
- 一篇文章让你读懂iOS和Android的历史起源
- NYOJ 128 前缀式计算
- Linux系统邮件查看及清空
- 网页自适应不同屏幕