当前位置: 首页 > 知识库问答 >
问题:

将ZIP转换为字节数组而不将输出保存到文件

申奇希
2023-03-14
        InputStream is = null;  
        OutputStream os = null; 
        is = new FileInputStream("C:/Users/DarkHorse/Desktop/WebServicesTesting/PolicyCredit.zip");  
        os = new FileOutputStream("D:/EclipseTestingFolder/EncodedFile1.txt");  
        int bytesRead = 0;  
        int chunkSize = 10000000;  
        byte[] chunk = new byte[chunkSize];  
        while ((bytesRead = is.read(chunk)) > 0) 
        {  
         byte[] ba = new byte[bytesRead]; 
         for(int i=0;i<ba.length;i++)
                {
                    ba[i] = chunk[i];                       
                } 
             byte[] encStr = Base64.encodeBase64(ba);

             os.write(encStr);            
         } 

        os.close();
        is.close();
}

共有1个答案

南宫泓
2023-03-14

您需要创建Base 64编码数据的字符串表示。

System.out.println( new String(encStr, Charset.forName("UTF-8")));

这里是基于64打印问题的一些其他示例

字符串类

 类似资料:
  • 问题内容: 我正在尝试将字节数组转换为ZIP文件。我使用以下代码获取字节: 但是我现在的问题是将字节数组转换回ZIP文件-如何完成? 注意:指定的ZIP包含两个文件。 问题答案: 要从字节中获取内容,可以使用

  • 我试图让用户从gallery中选择一幅图像,在imageView中显示它,同时创建同一文件的字节数组。 调试后: 'new File(filepath)'使用有效的文件系统路径执行没有问题。 但是它总是跳过'ByteArrayOutputStream baos=new ByteArrayOutputStream();'到带有java.ioFileNotFoundException的IOExcept

  • 我有一个映射,它的文件名是< code>String格式的< code>key,内容是< code>bytearray (byte[])格式的< code>value。 我想将map中的所有条目压缩到一个tar文件中,并将tar文件转换成< code>bytearray,而不将任何内容保存到磁盘上。 到目前为止,我正在temp目录中创建tar文件,并再次将tar文件读取为byteArray。 但是

  • 问题内容: 我有一个接收a的函数,但是我所拥有的a是进行此转换的最佳方法是什么? 我想我可以走很长一段路,然后将其放入字符串并放入字节中,但这听起来很难看,而且我认为还有更好的方法可以做到。 问题答案: 我同意Brainstorm的方法:假设您要传递机器友好的二进制表示形式,请使用该库。OP建议可能会有一些开销。纵观源的实施,我看到它做了一些运行时的决策最大的灵活性。 对?Write()接受一个非

  • 自从我尝试模拟我的客户端和服务器之间处理数据包的连接以来,我一直在与字节数组和BigIntger进行斗争。 当我的客户端连接到服务器时,服务器发送了一个包含RSA公钥的响应,然后是一个十六进制数据包,如下所示: C70001A1004080之后的64字节是RSA公共指数。RSA指数后的128字节是模数。 然后我尝试提取指数和模来重新生成RSA公钥。我的步骤: 最后我有了一个公钥: 与服务器上的RS

  • 问题内容: 将转换为的快速方法是什么? 例如 问题答案: 看看ByteBuffer类。 设置字节顺序保证了,,和。 或者,你可以手动执行以下操作: 该班是专为尽管这样的脏手任务。实际上,私有定义了以下辅助方法: