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

Тема в разделе ".NET", создана пользователем F1ztech, 9 окт 2007.

  1. F1ztech

    F1ztech Гость

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

    Pasha Гость

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

    F1ztech Гость

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

    Pasha Гость

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

    Nightmare_76 Гость

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

    Pasha Гость

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

    BVS Гость

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

    Nightmare_76 Гость

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

    Pasha Гость

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

    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-ков гигабайт обработать это по времени сколько?

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

    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.
     
Загрузка...

Поделиться этой страницей