Отправляет email-рассылки с помощью сервиса Sendsay

RFpro.ru: Microsoft .NET

  Все выпуски  

RFpro.ru: Microsoft .NET


Хостинг портала RFpro.ru:
Московский хостер
Профессиональный платный хостинг на базе Windows 2008

РАССЫЛКИ ПОРТАЛА RFPRO.RU

Чемпионы рейтинга экспертов в этой рассылке

Micren
Статус: Бакалавр
Рейтинг: 722
∙ повысить рейтинг »
Серг aka umbSSE
Статус: 10-й класс
Рейтинг: 265
∙ повысить рейтинг »
Evgenijm
Статус: 10-й класс
Рейтинг: 240
∙ повысить рейтинг »

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Microsoft .NET : C#

Номер выпуска:162
Дата выхода:31.08.2009, 01:05
Администратор рассылки:Alexey G. Gladenyuk, Управляющий
Подписчиков / экспертов:311 / 56
Вопросов / ответов:1 / 2

Вопрос № 171606: Здравствуйте! У меня такой вопрос: а возможно ли в C# считывать/записывать файлы в бинарном режиме с определенной позиции побайтно? Например, в VB6 это выглядит так: Get #F,1000,A Т.е. мы в переменную А считываем байт номер которого 1000. F - п...



Вопрос № 171606:

Здравствуйте!
У меня такой вопрос: а возможно ли в C# считывать/записывать файлы в бинарном режиме с определенной позиции побайтно? Например, в VB6 это выглядит так: Get #F,1000,A
Т.е. мы в переменную А считываем байт номер которого 1000. F - переменная, идентифицирующая файл. Использую MS Visual Studio 2008.
Спасибо!

Отправлен: 25.08.2009, 18:44
Вопрос задал: AkaProc, 5-й класс
Всего ответов: 2
Страница вопроса »


Отвечает Evgenijm, 10-й класс :
Здравствуйте, AkaProc.

Конечно можно, но в 2 шага:

FS.Position = 1000;
I = FS.ReadByte();

Приложение:

Ответ отправил: Evgenijm, 10-й класс
Ответ отправлен: 25.08.2009, 19:14

Оценка ответа: 5
Комментарий к оценке:
Не знаю, как Вас благодарить!! :)

Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 253550 на номер 1151 (Россия) | Еще номера »
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!
    Отвечает Micren, Бакалавр :
    Здравствуйте, AkaProc.
    Для чтения и записи бинарных потоков можно использовать классы BinaryReader/BinaryWriter, обладающих множеством перегрузок для методов чтения/записи, позволяющими работать с различными типами данных.

    Код:

    using System;
    using System.IO;

    namespace Test_CS
    {
    class Program
    {
    const string fileName = @"E:\file.bin";

    static void Main(string[] args)
    {
    try
    {
    using (FileStream fileStream = new FileStream(fileName, FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.None))
    using (BinaryReader binReader = new BinaryReader(fileStream))
    using (BinaryWriter binWriter = new Bin aryWriter(fileStream))
    {
    // Пишем в поток
    binWriter.Write(true);
    binWriter.Write("Строка");
    binWriter.Write(2.5);
    binWriter.Write((byte)255);
    // Указатель на начало
    fileStream.Seek(0, SeekOrigin.Begin);
    // Читаем и выводим
    Console.WriteLine("Bool:{0}\nString:{1}\nDouble:{2}\nByte:{3}",
    binReader.ReadBoolean(), binReader.ReadString(), binReader.ReadDouble(), binReader.ReadByte());
    }
    }
    catch (Exception ex)
    {
    Console.WriteLine(ex.Message);
    }
    finally
    {
    Console.ReadKey();
    }
    }
    }
    }

    Результат:
    Код:

    Bool:True
    String:Строка
    Double:2,5
    Byte:255

    Ответ отправил: Micren, Бакалавр
    Ответ отправлен: 30.08.2009, 14:15

    Оценка ответа: 5
    Комментарий к оценке:
    Спасибо!

    Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 253701 на номер 1151 (Россия) | Еще номера »
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!


    Оценить выпуск »
    Нам очень важно Ваше мнение об этом выпуске рассылки!

    Задать вопрос экспертам этой рассылки »

    Скажите "спасибо" эксперту, который помог Вам!

    Отправьте СМС-сообщение с тестом #thank НОМЕР_ОТВЕТА
    на короткий номер 1151 (Россия)

    Номер ответа и конкретный текст СМС указан внизу каждого ответа.

    Полный список номеров »

    * Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи. (полный список тарифов)
    ** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
    *** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.


    © 2001-2009, Портал RFpro.ru, Россия
    Авторское право: ООО "Мастер-Эксперт Про"
    Автор: Калашников О.А. | Программирование: Гладенюк А.Г.
    Хостинг: Компания "Московский хостер"
    Версия системы: 2009.6.8 от 28.08.2009

    В избранное