• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

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

    Запись на курс до 25 апреля. Получить промодоступ ...

редактирование файлов на с#

  • Автор темы F1ztech
  • Дата начала
F

F1ztech

такой вопрос, как в с# из существующего файла удалить часть текста?
т.е например есть файл в котором написано "абвгд" и нужно стереть из него "абв" и оставить "гд".
 
P

Pasha

Для: F1ztech
1. Открыть файл.
2. Прочитать из него текст.
3. Закрыть файл.
4. Заменить в прочитанном тексте "абв" на "".
5. Открыть файл.
6. Записать в него новый текст.
7. Закрыть файл.
 
F

F1ztech

если так сделать в файле окажется "гдвгд" т.к старое не сотреться а просто вместо аб запишется гд
 
P

Pasha

Для: F1ztech
А как ты файл открываешь в пункте 5? Делай File.CreateText().
 
N

Nightmare_76

А если файл длинной несколько (десятков) гигабайт? B)
 
P

Pasha

Для: Nightmare_76
Сделать CreateFileMapping, несколько раз { MapViewOfFile, позаменять строчки, UnmapViewOfFile }, CloseHandle, потом открыть SetFilePointer, SetEndOfFile, закрыть. Но для замены "абвгд" на "гд" получается слишком много телодвижений.
 
B

BVS

Для: Nightmare_76
Тогда открываешь 2 файла: один на чтение, другой (гдето в папке temp) на запись. И перегоняешь содержимое первого файла (без "абв") в другой. Потом переносишь второй файл на место первого.
 
N

Nightmare_76

Тогда открываешь 2 файла: один на чтение, другой (гдето в папке temp) на запись. И перегоняешь содержимое первого файла (без "абв") в другой. Потом переносишь второй файл на место первого.

Не, непойдёт, перегонку придётся делать способом который предложил Pasha
 
P

Pasha

Для: Nightmare_76
Почему не пойдет? Вполне нормальный метод, только места много просит на диске.
 
B

BVS

<!--QuoteBegin-Nightmare_76+9:10:2007, 18:05 -->
<span class="vbquote">(Nightmare_76 @ 9:10:2007, 18:05 )</span><!--QuoteEBegin-->Не, непойдёт, перегонку придётся делать способом который предложил Pasha
[snapback]81164" rel="nofollow" target="_blank[/snapback]​
[/quote]

Ну ненаю. Несколько 10-ков гигабайт обработать это по времени сколько?

Такая ситуация запустилась обработка, и через некоторое время аварийно завершилась, что стало с обрабатываем файлом?.
 
P

Pasha

<!--QuoteBegin-BVS+10:10:2007, 20:42 -->
<span class="vbquote">(BVS @ 10:10:2007, 20:42 )</span><!--QuoteEBegin-->Такая ситуация запустилась обработка, и через некоторое время аварийно завершилась, что стало с обрабатываем файлом?.
[snapback]81325" rel="nofollow" target="_blank[/snapback]​
[/quote]Если кроме мегазамены делать еще и журналирование - то ничего. SQL Server ведь редактирует свои файлы, и при этом обычно переживает перезагрузку.
<!--QuoteBegin-BVS+10:10:2007, 20:42 -->
<span class="vbquote">(BVS @ 10:10:2007, 20:42 )</span><!--QuoteEBegin-->Ну ненаю. Несколько 10-ков гигабайт обработать это по времени сколько?
[snapback]81325" rel="nofollow" target="_blank[/snapback]​
[/quote]Прочитать 10 гигабайт в нормальных условиях - минуты 3. Записать - еще 3.
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!