Вниз  Алгоритмизация
- 3.04.2015 / 16:27
Ксакеп
  Модератор форума

Ксакеп 
Сейчас: Offline
- 13.12.2015 / 02:08
Alexandr
  Пользователь

Alexandr 
Сейчас: Offline
Как реализовать архивацию/чтение pak'ов?
Вот как записывать, число размер в байтах потом секция, потом опять размер следуйщей секции? Или придумать какой нибудь разделитель?
- 13.12.2015 / 09:35
Askalite
  Пользователь

Askalite 
Сейчас: Offline
Alexandr, желательно сделать так, чтобы при этом сохранялась структура папок. Лучше всего использовать готовые спосоьы.
- 13.12.2015 / 09:53
Alexandr
  Пользователь

Alexandr 
Сейчас: Offline
Askalite, Мне нужен не архиватор, а такое себе бинарное хранилище по типу RMS, только внутри локального файла.
- 13.12.2015 / 10:00
aNNiMON
  Супервизор

aNNiMON 
Сейчас: Offline
Alexandr, да, лучше записывай размер файла, потом название, если нужно, потом сами байты файла и так повторяй для всех файлов.
__________________
 let live
- 13.12.2015 / 11:26
Alexandr
  Пользователь

Alexandr 
Сейчас: Offline
aNNiMON, а как хранить число(размер в байтах)?
Может лучше разделитель?
Как это в Pak Creator'е было сделано?
- 13.12.2015 / 11:53
aRiGaTo
  Пользователь

aRiGaTo 
Сейчас: Offline
Alexandr, фиксированной длины, 32 бита или больше. sizeof int же.
__________________
 don't tread on me
- 13.12.2015 / 12:04
aNNiMON
  Супервизор

aNNiMON 
Сейчас: Offline
Alexandr, в смысле? Как ещё можно хранить число? Или ты про то, как это записать?

  1. DataOutputSream dos ....
  2. dos.writeInt(/*размер файла в байтах*/);
  3. //dos.writeUTF(/*имя файла*/);
  4. dos.write(/*байты файла*/);

И чтоб, прочитать:
  1. DataInputStream dis = ...
  2. int fileSize = dis.readInt();
  3. // String name = dis.readUTF();
  4. byte[] fileBytes = new byte[fileSize];
  5. dis.read(fileBytes , 0, fileSize)

__________________
 let live
- 13.12.2015 / 12:13
Alexandr
  Пользователь

Alexandr 
Сейчас: Offline
aNNiMON, А как делить на секции, читать несколько файлов?
- 13.12.2015 / 15:51
aNNiMON
  Супервизор

aNNiMON 
Сейчас: Offline
Alexandr, допустим, надо прочитать третий файл. Читаешь размер первого файла, пропускаешь указанное количество байт, потом читаешь размер второго файла, пропускаешь указанное количество байт и затем читаешь размер третьего файла и получаешь сам файл.
Разумеется, это всё в цикле надо делать.
__________________
 let live
Наверх  Всего сообщений: 127
Фильтровать сообщения
Поиск по теме
Файлы топика (2)