文本文件BASE-64编码解码

来源:互联网 发布:网络解锁nck 编辑:程序博客网 时间:2024/05/01 07:09

BASE-64编码解码


把一个文本文件进行BASE64的编解码,然后保存到另外一个文件中。

注意文本字符编码,以防出现乱码。


//BASE64解码    public void base64Decode(String inputFile,String outputFile) throws IOException{        //字符编码一定要注意,否则出现乱码        StringBuilder sb=new StringBuilder();        FileInputStream fis=new FileInputStream(inputFile);        InputStreamReader isr=new InputStreamReader(fis,"UTF-8");        BufferedReader br=new BufferedReader(isr);                //BufferedReader br=new BufferedReader(new InputStreamReader(new FileInputStream(inputFile),charset));          String str=null;        while((str=br.readLine())!=null){            //按行读取后解码            str=new String(Base64.getDecoder().decode(str),"UTF-8");            sb.append(str+"\r\n");        }        br.close();        isr.close();        fis.close();                //把字符串写入文件        File opf=new File(outputFile);        FileOutputStream fos=new FileOutputStream(opf);        //////////////////////////////////////////////////        OutputStreamWriter osw=new OutputStreamWriter(fos,"UTF-8");        BufferedWriter bw=new BufferedWriter(osw);        //bw.write(new String(sb.toString().getBytes(),charset));        bw.write(sb.toString());        bw.close();        osw.close();        fos.close();            }        //text-base64    public void base64Encode(String inputFile,String outputFile) throws IOException{        //字符编码一定要注意,否则出现乱码        StringBuffer sb=new StringBuffer();        FileInputStream fis=new FileInputStream(inputFile);        InputStreamReader isr=new InputStreamReader(fis,"UTF-8");        BufferedReader br=new BufferedReader(isr);                String str=null;        while((str=br.readLine())!=null){            //按行读取后加密            str=Base64.getEncoder().encodeToString(str.getBytes("UTF-8"));            str=str.trim();            sb.append(str+"\r\n");        }        br.close();        isr.close();        fis.close();                //把字符串写入文件        File opf=new File(outputFile);        FileOutputStream fos=new FileOutputStream(opf);        OutputStreamWriter osw=new OutputStreamWriter(fos,"UTF-8");        BufferedWriter bw=new BufferedWriter(osw);        //bw.write(new String(sb.toString().getBytes(),charset));        bw.write(sb.toString());        System.out.println("整体文本:"+sb);         bw.close();        osw.close();        fos.close();            }

0 0
原创粉丝点击