Как Вы передаете inputstream по каналу в заархивированный файл, поскольку он читается в с Java?

Вам необходимо включить /, разделяющий каталог и имя файла, чтобы открыть конкретный файл по соответствующему пути в каталоге english.

#!/usr/bin/env python

import os

for files in os.listdir('english'):
    file_path=os.path.join('english',files)
    data=open(file_path,'r').readlines()
    bot.train(data)
7
задан Max Stewart 26 September 2008 в 03:43
поделиться

1 ответ

ZipOutputStream targetStream = new ZipOutputStream(fileToSaveTo);
ZipEntry entry = new ZipEntry(nameOfFileInZipFile);
targetStream.putNextEntry(entry);

byte[] dataBlock = new byte[1024];
int count = inputStream.read(dataBlock, 0, 1024);
while (count != -1) {
    targetStream.write(dataBlock, 0, count);
    count = inputStream.read(dataBlock, 0, 1024);
}

В otherwords:

  1. Вы создаете a ZipOutputStream, предоставление его файл Вы хотите записать в.
  2. Вы создаете a ZipEntry, который составляет файл в рамках того zip-файла. т.е. Когда Вы открываете myFile.zip, и существует 3 файла там, каждый файл является a ZipEntry.

  3. Вы помещаете это ZipEntry в Ваш ZipOutputStream

  4. Создайте буфер байта для чтения данных в.
  5. Читайте из Вашего inputStream в Ваш буфер байта, и помнят количество.
  6. В то время как count не -1, запишите что байт byffer к Вашему zipStream.
  7. Считайте следующую строку.

Закройте свои потоки, когда Вы будете сделаны. Перенесите его в метод, как Вы считаете целесообразным.

8
ответ дан 7 December 2019 в 05:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: