3.04.2015 / 16:27 |  | 
Ксакеп    Модератор форума  
   Сейчас: Offline 
 Регистрация: 20.06.2012
   |  | 
  13.12.2015 / 02:08 |  | 
Alexandr    Пользователь  
   Сейчас: Offline 
 Имя: Александр Откуда: Днепр Регистрация: 01.07.2012
   | Как реализовать архивацию/чтение pak'ов? Вот как записывать, число размер в байтах потом секция, потом опять размер следуйщей секции? Или придумать какой нибудь разделитель?
   | 
  13.12.2015 / 09:35 |  | 
Askalite    Пользователь  
   Сейчас: Offline 
 Имя: Аскалайт Регистрация: 12.10.2011
   | Alexandr, желательно сделать так, чтобы при этом сохранялась структура папок. Лучше всего использовать готовые спосоьы.
   | 
  13.12.2015 / 09:53 |  | 
Alexandr    Пользователь  
   Сейчас: Offline 
 Имя: Александр Откуда: Днепр Регистрация: 01.07.2012
   | Askalite,  Мне нужен не архиватор, а такое себе бинарное хранилище по типу RMS, только внутри локального файла.
   | 
  13.12.2015 / 10:00 |  | 
aNNiMON    Супервизор 
   Сейчас: Offline 
 Имя: Витёк Регистрация: 11.01.2010
   | Alexandr,  да, лучше записывай размер файла, потом название, если нужно, потом сами байты файла и так повторяй для всех файлов.
  __________________
   let live  | 
  13.12.2015 / 11:26 |  | 
Alexandr    Пользователь  
   Сейчас: Offline 
 Имя: Александр Откуда: Днепр Регистрация: 01.07.2012
   | aNNiMON,  а как хранить число(размер в байтах)? Может лучше разделитель? Как это в Pak Creator'е было сделано?
   | 
  13.12.2015 / 11:53 |  | 
aRiGaTo    Пользователь  
   Сейчас: Offline 
 Имя: Snork Откуда: Yerevan Регистрация: 03.02.2010
   | Alexandr, фиксированной длины, 32 бита или больше. sizeof int же.
  __________________
   don't tread on me  | 
  13.12.2015 / 12:04 |  | 
aNNiMON    Супервизор 
   Сейчас: Offline 
 Имя: Витёк Регистрация: 11.01.2010
   | Alexandr, в смысле? Как ещё можно хранить число? Или ты про то, как это записать? DataOutputSream dos ....  
dos.writeInt(/*размер файла в байтах*/);  
//dos.writeUTF(/*имя файла*/);  
dos.write(/*байты файла*/);  
 И чтоб, прочитать: DataInputStream dis = ...  
int fileSize = dis.readInt();  
// String name = dis.readUTF();  
byte[] fileBytes = new byte[fileSize];  
dis.read(fileBytes , 0, fileSize)  
  __________________
   let live  | 
  13.12.2015 / 12:13 |  | 
Alexandr    Пользователь  
   Сейчас: Offline 
 Имя: Александр Откуда: Днепр Регистрация: 01.07.2012
   | aNNiMON,  А как делить на секции, читать несколько файлов?
   | 
  13.12.2015 / 15:51 |  | 
aNNiMON    Супервизор 
   Сейчас: Offline 
 Имя: Витёк Регистрация: 11.01.2010
   | Alexandr,  допустим, надо прочитать третий файл. Читаешь размер первого файла, пропускаешь указанное количество байт, потом читаешь размер второго файла, пропускаешь указанное количество байт и затем читаешь  размер третьего файла и получаешь сам файл. Разумеется, это всё в цикле надо делать.
  __________________
   let live  |