На самом деле я использую метод, чтобы сжать сгенерированный текстовый файл в моем приложении для Android, в следующем текстовом файле есть данные, разделенные вводом, как
123213213
123213132
424242244
Но если я заархивирую этот файл и разархивирую его на моем компьютере, следующий файл будет
123213213□123213132□424242244
Вот метод, который я использую для архивирования файла
public void zip(String files, String zipFile) throws IOException {
BufferedInputStream origin;
try (ZipOutputStream out = new ZipOutputStream(new BufferedOutputStream(new FileOutputStream(zipFile)))) {
byte[] data = new byte[BUFFER_SIZE];
FileInputStream fi = new FileInputStream(files);
origin = new BufferedInputStream(fi, BUFFER_SIZE);
try {
ZipEntry entry = new ZipEntry(files.substring(files.lastIndexOf("/") + 1));
out.putNextEntry(entry);
int count;
while ((count = origin.read(data, 0, BUFFER_SIZE)) != -1) {
out.write(data, 0, count);
}
} finally {
origin.close();
}
}
}