文件base64编码解码
1代码
1.1编码
package File_h;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.Base64;
public class a_result3AI文档 {
public static void main(String[] args) throws Exception{
//读取文件并存入字节数组
Path path = Paths.get("C:\\Users\\Administrator\\Desktop\\微观经济学(第19版) -- [美] 保罗·萨缪尔森; [美] 威廉·诺德豪斯 -- 新曲线·经管系列, 2012 -- 人民邮电出版社 -- 9.pdf");
byte[] buffer = Files.readAllBytes(path);
Base64.Encoder encoder = Base64.getEncoder();
String encodedString = encoder.encodeToString(buffer);
File file = new File("C:\\Users\\Administrator\\Desktop\\zz\\微观经济学(第19版) -- [美] 保罗·萨缪尔森; [美] 威廉·诺德豪斯 -- 新曲线·经管系列, 2012 -- 人民邮电出版社 -- 9.txt");
file.createNewFile(); //
FileWriter filew = new FileWriter(file);
BufferedWriter write = new BufferedWriter(filew);
write.write(encodedString);
write.flush();//一次流不够用,刷新后继续用
//这个文件不是f_result3AI适应jdk8的修改、x_v_result3第一个可用和b_x_v_result3增加了close这三个文件输出内容残缺,是完整的
}
}
1.2解码
package File_h;
import java.io.File;
import java.io.FileOutputStream;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.Base64;
public class b_back2适应jdk8的修改改用flush {
public static void main(String[] args) throws Exception {
//读取文件并存入字节数组
Path path = Paths.get("C:\\Users\\Administrator\\Desktop\\zz\\微观经济学(第19版) -- [美] 保罗·萨缪尔森; [美] 威廉·诺德豪斯 -- 新曲线·经管系列, 2012 -- 人民邮电出版社 -- 9.txt");
byte[] buffer = Files.readAllBytes(path);
String str = new String(buffer);
Base64.Decoder decoder = Base64.getDecoder();
byte[] decodedBytes = decoder.decode(str);
File file = new File("C:\\Users\\Administrator\\Desktop\\zz\\微观经济学(第19版) -- [美] 保罗·萨缪尔森; [美] 威廉·诺德豪斯 -- 新曲线·经管系列, 2012 -- 人民邮电出版社 -- 9.pdf");
file.createNewFile(); //
FileOutputStream fileOutputStream = new FileOutputStream(file);
fileOutputStream.write(decodedBytes);
fileOutputStream.flush();
//配合a_result32AI输出图片是完整的,问题可能在于txt文档输出不完整
}
}
下载链接: