文件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文档输出不完整

    }
}


下载链接:

源文件(密码:2cv8)
TotalCMD(密码:5nya)

posted @ 2024-11-02 01:14  基础狗  阅读(2)  评论(0编辑  收藏  举报