| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Общие вопросы по .NET и C# > запись в файл, чтение из файла в .NET |
| Автор: akaineco 24.1.2005, 08:45 | ||
| Запись в файл, чтение из файла. В MSDN по этому вопросу мне удалось найти только это:
поковырямшись в инете нашел еще кучу классов, и основательно в них запутался. Хотелось бы проконсультироваться, что мне лучше юзать для решения следующей задачи: I. можно работать с файлом последовательного доступа, тогда 1. я должен иметь возможность считать символ с определенным порядковым номером. Только один символ. Считать в оперативку весь файл и затем найти нужный символ методом тотального перебора — такое некатит. 2. Должна быть возможность записи символа в место, определенное порядковым номером этого символа. Если на этом месте уже есть символ, то он должен быть перезаписан. II. Если ничего подобного нет при работе с файлами последовательного доступа, то придется воспользоваться файлом произвольного доступа, но никакой информации по работе с файлами произвольного доступа я пока не нашел. Не хотелось бы усложнять программку базой данных. III. Еще хотелось бы выяснить, можно ли записать в файл не символ или байт, а один бит, т. е. единичку или нолик? |
| Автор: Domestic Cat 24.1.2005, 08:49 |
| Посмотри FileStream. |
| Автор: [Last]Wizard 24.1.2005, 13:50 | ||||
Это точно Вот тебе пример:
Насчет побитовой записи ничего не знаю, но в принципе можно реализовать через чтение и запись байтов. |
| Автор: akaineco 25.1.2005, 03:25 | ||||||
Через FileStream мы читаем байты, т. е. фактически числа.
А как насчет букв и символов? Есть еще BinaryWriter BinaryReader.
записываем без проблем, а куда при чтении у fse2 метод seek девался? - Слоники снюхали? приходиться читать попорядку одного за другим. Или может следует считать сначала быйт, а затем есть какой-то способ перевести его в конкретный символ ?
да, я тоже об этом думал. |
| Автор: Gazon 25.1.2005, 05:26 | ||||
Используй StreamReader.
|
| Автор: akaineco 26.1.2005, 02:26 | ||||||||
че-то не Компилируется.
но мне нужно только символ считать, а ReadLine читает строку, причем с начала файла, а не с произвольного места. Есть еще метод read, который читает файл в массив. Если массив сделать величиной в один символ, то можно считать символ, но не с произвольной позиции:
метод seek отсутствует. А при записи методом write происходит полная перезапись всего файла. Старые даные не сохраняются, чего мне совсем не надо:
А как же посредством StreamReader, считать один символ с произвольной позиции в файле? |
| Автор: akaineco 27.1.2005, 02:27 |
| Ну ладно. На самом деле того, что уже есть, мне вполне хватит. Ситуация более или менее прояснилась. FileStream мне больше всего подойдет. Спасибо всем за участие и посильную помощь. |