Я хочу удалить последние 10 символов файла. Скажем, строка "hello i am a c# learner"
- это данные внутри файла.удалить последние 10 символов файла
Я просто хочу, чтобы этот файл был "hello i am a "
. Последние 10 символов файла, который является строкой "c# learner"
, должны быть удалены внутри файла.
Решение:
читать весь файл в строку и удалить эти последние 10 символов и записать обратно строку (но этот подход терпит неудачу, когда размер файла слишком велик, говорит около 200 МБ файла и даже ненужный способ читать весь файл, когда нам нужны только последние 10 символов. Поэтому я не мог попробовать этот подход).
Я думал открыть файл в режиме записи и установить положение курсора примерно так:
file.seek(-10,SeekOrigin.End)
и написать пустые байтыfile.writebye((byte)((char)' '));
Но он ничего не пишет в файл.
Может ли кто-нибудь сказать мне лучший способ приблизиться к нему вместо того, чтобы читать весь файл в строку.
ПРИМЕЧАНИЕ Я использую C# сделать это
Если файл является то, что маленьким, чтение файла в строку является прекрасно решением, особенно с тем, как буферными работами. Это проще и проще. Если бы ваш файл был действительно большим, теперь это была бы другая история. –
@BenjaminGruenbaum Я просто дал образец. Файл может быть также размером 200 МБ. Это зависит от выбора пользователя. благодаря – niko