|
87 / 22 / 6
Регистрация: 29.12.2015
Сообщений: 1,898
|
|
.NET 4.x Добавить и удалить массив байтов к файлу большого размера16.11.2022, 00:57. Показов 532. Ответов 9
Метки нет (Все метки)
Здравствуйте. Как можно быстро добавлять и удалять массив байтов к файлу. Или в начало или в конец. Без разницы. Просто записать стороннюю инфу в бинарный файл нужно и потом её читать.
0
|
|
| 16.11.2022, 00:57 | |
|
Ответы с готовыми решениями:
9
Как искать последовательность байтов в файлах большого размера
Файл или массив большого размера вывести на экран через буфер маленького размера |
|
Администратор
|
|
| 16.11.2022, 01:04 | |
|
Alexandr_7, в конец файла без проблем - открываете файл на запись в режиме Append и пишите. В начало файла быстро не получится. Кучу данных так или иначе придется двигать.
0
|
|
|
87 / 22 / 6
Регистрация: 29.12.2015
Сообщений: 1,898
|
||||||
| 16.11.2022, 01:28 [ТС] | ||||||
|
Не особо понял. Файл бинарный. Мне мало того что записать нужно мне ещё нужно аотом прочитать и удалить записанные наборы байтов чтобы файл стал рабочим.
Добавлено через 21 минуту Ну к примеру как записать я разобрался.
0
|
||||||
|
Модератор
|
||
| 16.11.2022, 01:41 | ||
|
Как вариант можно подсчитать длину дописанных данных и записать int в конец файла. При чтении сначала прочитать int в конце файла. Потом сместиться вперёд на эту длину и прочитать все данные.
0
|
||
|
87 / 22 / 6
Регистрация: 29.12.2015
Сообщений: 1,898
|
|||||||
| 16.11.2022, 01:52 [ТС] | |||||||
|
Вот что я сам поэксперементировал
0
|
|||||||
|
Модератор
|
|||
| 16.11.2022, 02:22 | |||
|
Добавлено через 5 минут Для смещения в позицию с конца используйте fs.Seek(-5, SeekOrigin.End);Добавлено через 55 секунд
0
|
|||
|
87 / 22 / 6
Регистрация: 29.12.2015
Сообщений: 1,898
|
||
| 16.11.2022, 18:46 [ТС] | ||
|
0
|
||
|
Модератор
|
||
| 16.11.2022, 19:10 | ||
|
Буфер размером в 2 Гига - это максимум что может предоставить .Net. Если файл больше, то нужно читать его кусками. По факту даже 2 Гига это слишком много. Под буфер нужен непрерывный участок в памяти. А такого размера непрерывный участок - это проблематично для ОС. Поэтому читать данные порциями больше чем 100к-1м лучше не стоит. Добавлено через 4 минуты Alexandr_7, если правильно понял, то вы туту читаете весь файл и записываете прочитанное кроме последних 5 байт. Сделайте просто копию файла и отрежьте в ней последние 5 байт. Это же намного проще.
0
|
||
|
87 / 22 / 6
Регистрация: 29.12.2015
Сообщений: 1,898
|
|||
| 16.11.2022, 19:14 [ТС] | |||
|
Добавлено через 1 минуту
0
|
|||
|
Модератор
|
|||||||
| 16.11.2022, 19:33 | |||||||
|
Alexandr_7, я же написал уже - создайте копию методом File.Copy().
И потом в ней "обрежьте хвост". Зачем всё загонять в память? Добавлено через 50 секунд Добавлено через 17 минут
0
|
|||||||
| 16.11.2022, 19:33 | |
|
Помогаю со студенческими работами здесь
10
Выделить память под массив размера 2^64 байтов
Статический массив большого размера Массив очередей большого размера Как создать массив большого размера Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
|
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
|
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2.
Данный документ берёт данные из другого нетипового документа. . .
|
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
|
|
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: реализовать программный контроль на предмет проведения документа. . .
|
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача:
1. Реализовать контроль заполнения реквизита. . .
|
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение:
DISM / Online / Add-Capability / CapabilityName:WMIC~~~~
Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
|
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: при создании документов установить период списания автоматически. . .
|