Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

MappingFIle в C#

9.9K
03 февраля 2006 года
KhArt
11 / / 23.08.2005
Господа, вопрос следующий.

В Win32API есть функции работы с файлами
CreateFile(...),
CreateMappingFile(...),
MappingViewOfFIle(...).
Интересует есть ли аналоги в C#? И вообще используется ли механизм проекции файлов и как им воспользоваться?

И еще: как внедрить в код на C# код из С++?
Заранее спасибо.
273
04 февраля 2006 года
3A3-968M
1.2K / / 22.12.2005
Цитата:
Originally posted by KhArt
Господа, вопрос следующий.

В Win32API есть функции работы с файлами
CreateFile(...),
CreateMappingFile(...),
MappingViewOfFIle(...).
Интересует есть ли аналоги в C#? И вообще используется ли механизм проекции файлов и как им воспользоваться?

И еще: как внедрить в код на C# код из С++?
Заранее спасибо.

Нет, маппинга файлов в .NET нет (да он там и не нужен), а для работы с файлами используются классы System.IO.File и System.IO.Path, также различные потоки файлового ввода/вывода, как, например StreamWriter и StreamReader. Напиши конкретную задачу, тогда станет ясно, что лучше использовать. Код на C++ в код на C# ты можешь внедрить, если переделать синтаксис текста на C++, ведь как-никак C++ и C# это РАЗНЫЕ языки.

9.9K
06 февраля 2006 года
KhArt
11 / / 23.08.2005
Ок! Спасибо за информацию.

Вообще, задача на Си была решена для исключения явного копирования больших массивов данных из файла в память. Это задача доверялась маппингу в виндах. Типа открыл файл, спроецировал, сделал ViewOfFileMapping и читай себе память до 2 ГГб. Быстро и просто.

Посмотрим, дает нам .НЕТ!
273
06 февраля 2006 года
3A3-968M
1.2K / / 22.12.2005
Цитата:
Originally posted by KhArt
Ок! Спасибо за информацию.

Вообще, задача на Си была решена для исключения явного копирования больших массивов данных из файла в память. Это задача доверялась маппингу в виндах. Типа открыл файл, спроецировал, сделал ViewOfFileMapping и читай себе память до 2 ГГб. Быстро и просто.

Посмотрим, дает нам .НЕТ!


Тоже самое можно сделать при помощи классов System.IO.StreamReader - потоковое чтение символьных данных
System.IO.MemoryStream - поток для чтения/записи в памяти
System.IO.FileStream - потоковый ввод/вывод в файл
System.IO.BinaryReader - потоковое чтение двоичных данных.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог