The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Дозапись в файл"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы WEB технологии (Public)
Изначальное сообщение [Проследить за развитием треда]

"Дозапись в файл"  
Сообщение от Al email(??) on 13-Июл-07, 10:33 
Возможно ли дозаписать в файл начиная с определённой позиции, т.е. есть некоторый файл file.txt, есть величина=смещение, с этого момента надо сделать вставку. НЕОБХОДИМОЕ УСЛОВИЕ-вставку надо сделать не используя НИКАКИХ БУФЕРОВ, копирования частей файла или самого файла в другие файлы итд.
Например есть file.txt

Его содержимое
*123*451545487545451112154546yfgefvdvdnbvgdvfg3t567tegfhv36t*****************dfmkg+++++fjgkj
Смещение=8
Вставка=FFF
Результат должен быть

*123*451FFF545487545451112154546yfgefvdvdnbvgdvfg3t567tegfhv36t*****************dfmkg+++++fjgkj

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени, UBB]


1. "Дозапись в файл"  
Сообщение от антигерой (ok) on 14-Июл-07, 18:12 
Дозаписать в чистом виде в файл нельзя. Можно прочитать кусок файла до нужного места в промежуточный файл, потом туда сделать нужную запись и дозаписать последнюю часть файла.

А потом скопировать то что получилось - из промежуточного файла в нужный.
Делается это для того, чтобы не забивать оперативку массивом данных файла. т.е. чтобы не держать его в оперативке, ибо хyz знает - какой у него размер.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "Дозапись в файл"  
Сообщение от Al email(??) on 16-Июл-07, 13:40 
>Дозаписать в чистом виде в файл нельзя. Можно прочитать кусок файла до
>нужного места в промежуточный файл, потом туда сделать нужную запись и
>дозаписать последнюю часть файла.
>
>А потом скопировать то что получилось - из промежуточного файла в нужный.
>
>Делается это для того, чтобы не забивать оперативку массивом данных файла. т.е.
>чтобы не держать его в оперативке, ибо хyz знает - какой
>у него размер.
Уже так и сделал, прочитал в умной книжке что дозапись в виде вставки невозможна "напрямую", хотя вот даже частичная перезапись по смещению реальна. Спасибо за ответ!

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "Дозапись в файл"  
Сообщение от .org on 23-Июл-07, 12:13 
>[оверквотинг удален]
>>дозаписать последнюю часть файла.
>>
>>А потом скопировать то что получилось - из промежуточного файла в нужный.
>>
>>Делается это для того, чтобы не забивать оперативку массивом данных файла. т.е.
>>чтобы не держать его в оперативке, ибо хyz знает - какой
>>у него размер.
>Уже так и сделал, прочитал в умной книжке что дозапись в виде
>вставки невозможна "напрямую", хотя вот даже частичная перезапись по смещению реальна.
>Спасибо за ответ!

"Напрямую" можно дозаписывать в конец файла, а так приходится читать до определенного байта, и потом туда впихивать нужное

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру