У меня проблема с GZip в Java. В настоящее время я работаю с файлами, которые gzipped. Один файл в одном архиве gzip. И если я распаковываю их вручную, а затем разбираю их, все работает. Но я хочу автоматизировать это с помощью Java и GZipInputStream, но это не сработает. Мне нужно иметь DataInputStream в конце. Мой код:Java GzipInputStream в DataInputStream
byte[] bytesArray = Files.readAllBytes(baseFile.toPath());
try {
reader = new DataInputStream(new GZIPInputStream(new ByteArrayInputStream(bytesArray)));
System.out.println("gzip");
} catch (ZipException notZip) {
reader = new DataInputStream(new ByteArrayInputStream(bytesArray));
System.out.println("no gzip");
}
Я также попробовал новый GZIPInputStream (новый FileInputStream (baseFile)); Результат тот же. Из-за вывода я вижу, что поток Gzip создается без исключения, но позже я получаю недопустимые данные из DataInputStream. Пожалуйста, помогите :)
недопустимые данные, такие как, что? Когда должны были быть действительные данные? Написано как? – EJP
Извините :) reader.readByte() предоставляет разные результаты, если я использую оригинальный файл или версию gzipped. – kapodes