Здравствуйте, Reisende, Вы писали:
R>Здравствуйте, Beegor, Вы писали:
B>>Приветствую!
B>>Возник вопрос на который нигде не могу найти ответ.
B>>Можно ли при записи в файл (например BinarzWrite ром), сместить последующий контент?
B>>Тоесть в файле допустим есть:
B>>A B C (байты)
B>>нужно в середину впихнуть D чтобы выглядело так:
B>>A B D C
B>>Помогите, очень нужно!
R>Можно через промежуточный временный файл:
R>1. Читаем при помощи ридера исходный файл кусками и пишем их во временный файл райтером;
R>2. По достижению нужного места пишем райтером необходимую вставку;
R>3. Продолжаем пункт 1 до конца исходного файла.
А без промежуточного файла никак?
Здравствуйте, Beegor, Вы писали:
B>Здравствуйте, Reisende, Вы писали:
R>>Здравствуйте, Beegor, Вы писали:
B>>>Можно ли при записи в файл (например BinarzWrite ром), сместить последующий контент?
R>>Можно через промежуточный временный файл:
B>А без промежуточного файла никак?
Можно!
С промежуточным буфером
Смещение содержимого файла при "вставке" в любом случае подразумевает переписывание оставшегося куска, если конечно не работать напрямую с кластерами диска.
Здравствуйте, Beegor, Вы писали:
B>Приветствую!
B>Возник вопрос на который нигде не могу найти ответ.
B>Можно ли при записи в файл (например BinarzWrite ром), сместить последующий контент?
Нет, нельзя. Проблема не в FileStream, а в файловой системе. API Win32 не предусматривают функций по детальному управлению размещением файла.
Теоретически, можно было бы поиграть напрямую с драйвером, но это
а) сложно
б) непереносимо (между FAT и NTFS есть разница, даже если научиться правильно обрабатывать разные размеры allocation unit)
в) вызовет проблемы с безопасностью в управляемой среде

1.2.0 alpha rev. 655
Здравствуйте, Sinclair, Вы писали:
S>Здравствуйте, Beegor, Вы писали:
B>>Приветствую!
B>>Возник вопрос на который нигде не могу найти ответ.
B>>Можно ли при записи в файл (например BinarzWrite ром), сместить последующий контент?
S>Нет, нельзя. Проблема не в FileStream, а в файловой системе. API Win32 не предусматривают функций по детальному управлению размещением файла.
S>Теоретически, можно было бы поиграть напрямую с драйвером, но это
S>а) сложно
S>б) непереносимо (между FAT и NTFS есть разница, даже если научиться правильно обрабатывать разные размеры allocation unit)
S>в) вызовет проблемы с безопасностью в управляемой среде
Спасибо 8-) Развеяли мечты