如何在Java中将字节数据转换为可读文本
我是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);
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文件已经有加密数据,所以这不是解压缩问题,而是加密/编码问题。使用相同的算法对生成的字符串进行解码。