Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Java中将字节数据转换为可读文本_Java_Spring - Fatal编程技术网

如何在Java中将字节数据转换为可读文本

如何在Java中将字节数据转换为可读文本,java,spring,Java,Spring,我是java新手,需要了解以下内容 private static void decompressGzipFile(String gzipFile, String newFile) { try { FileInputStream fis = new FileInputStream(gzipFile); GZIPInputStream gis = new GZIPInputStream(fis);

我是java新手,需要了解以下内容


private static void decompressGzipFile(String gzipFile, String newFile) {
           try {
               FileInputStream fis = new FileInputStream(gzipFile);
               GZIPInputStream gis = new GZIPInputStream(fis);
               FileOutputStream fos = new FileOutputStream(newFile);
               byte[] buffer = new byte[1024];
               int len;
               while((len = gis.read(buffer)) != -1){
                   fos.write(buffer, 0, len);
               }
               //close resources
               System.out.println("Decompression is successful");
               fos.close();
               gis.close();
           } catch (IOException e) {
               e.printStackTrace();
           }
我在压缩的GZIP文件中有一些数据,它在

í?]o£F ?s?_1RoZ?Öó?¹Ã?d¬ÅÆ[1]?U.?¦Q?8²?Dù÷=?íÄÃÌ ?VUUÎM´d Î?÷|Ì?Í?7ÉöaõÇjûzö³ 
?9 ??Á¤?? ?? fs?c?;î&Äq?3?Ú?>ÙËv·Ü t¶Y¯w¦uM¿ÿ?Z²?Æò?
________________________________________
[hº~Biþ?F
________________________________________

ÎÁ?bâ??OÃÙ[1]Yã0ó'Q?¬?x?¡ ?â
这是字节数据,如何在java中将其转换为字符串格式或可读格式?
我尝试使用GZip解压器读取此文件,但这会给我与输出相同的文件,但我希望数据是人类可读的格式。我尝试使用GZIPInputStream和base64inputStream,但给出的数据类型不正确。我不确定这是否真的是字节数据,或者如何读取这些数据?任何建议请帮助

FileOutputStream默认情况下使用编码将数据写入文件

如果要跳过编码,请使用BufferedReader

 import java.io.BufferedReader;
   import java.io.FileInputStream;
   import java.io.IOException;
   import java.io.InputStreamReader;
   import java.util.zip.GZIPInputStream;


    public class ZipFileReader{

    public static void main(String[] args) throws IOException {
        GZIPInputStream zipFile = new GZIPInputStream(new FileInputStream("C:/Users/HimanshuSharma2/Downloads/phayes-geoPHP-1.2-20-g6855624.tar.gz"));

        BufferedReader br = new BufferedReader(new InputStreamReader(zipFile));
        String content;

        while ((content = br.readLine()) != null)
           System.out.println(content);
    }
    }
选中此链接中的示例文件:


最后将该字符串写入文件。

然后再执行
fos.write(缓冲区,0,len)通过将
缓冲区
作为字符串写入stdout来调试它。您正在解压缩什么类型的文件?它的文件名是什么?文件名是gzipFile,我正在尝试解压缩.gz文件。@ScaryWombat,我试图使用缓冲区读取器进行调试,但它在变量字段中仍然显示相同的格式,如-í?]o.F?s?U 1RoZ?ÖÃ?dÅ[1]?U.?Q?8?dù÷=?UÄ195;߽mÎd÷124; s?U߽7߽a߽d߽z,看起来像是一个压缩问题。请说明您是如何压缩的。我仍然得到未解码为字符串的字节数据,因为我认为您的gzip文件已经有加密数据,所以这不是解压缩问题,而是加密/编码问题。使用相同的算法对生成的字符串进行解码。