C# - Как я читаю и пишу двоичный файл?

Нет, потому что, в то время как Вы думали, LINQ является действительно просто синтаксическим сахаром, он на самом деле в большой степени использовал деревья выражений - функция, отсутствующая в.NET 2.0.

, Что быть упомянутой.NET 3.5 только растет сверху.NET 2.0, и это - причина, почему IL не выглядит "отличающимся" или "особенным".

я не вижу оснований, почему Вы не должны только устанавливать.NET 3.5 Платформы. Все.NET 2.0 будет хорошо работать на нем, обещание:)

10
задан Robinicks 20 September 2009 в 08:03
поделиться

3 ответа

(edit: обратите внимание, что вопрос изменился; он не упоминал байт [] изначально; см. редакция 1 )

Ну, На ум приходит File.Copy ; но в остальном это звучит как сценарий Stream :

    using (Stream source = File.OpenRead(inPath))
    using (Stream dest = File.Create(outPath)) {
        byte[] buffer = new byte[2048]; // pick size
        int bytesRead;
        while((bytesRead = source.Read(buffer, 0, buffer.Length)) > 0) {
            dest.Write(buffer, 0, bytesRead);
        }
    }
7
ответ дан 3 December 2019 в 22:37
поделиться

Знаете ли вы о TextReader и TextWriter и их потомки StreamReader и StreamWriter ? Я думаю, это решит вашу проблему, потому что они обрабатывают кодировки, BinaryReader не знает ни кодировок, ни даже текста, он занимается только байтами.

Как читать текст из файла

Как записывать текст в файл

Это отличное введение в файловый ввод-вывод и кодировки.

3
ответ дан 3 December 2019 в 22:37
поделиться

Вам нужен небуферизованный вывод всякий раз, когда вы хотите убедиться, что вывод был записан, прежде чем продолжить. Одним из примеров является стандартная ошибка библиотеки времени выполнения C - обычно она не буферизуется по умолчанию. Поскольку ошибки (будем надеяться) нечасты, вы захотите узнать о них немедленно. С другой стороны, стандартный вывод буферизуется просто потому, что предполагается, что через него будет проходить гораздо больше данных.

Другой пример - библиотека регистрации. Если ваши сообщения журнала хранятся в буферах вашего процесса, и ваш процесс выгружает ядро, есть очень большая вероятность, что вывод никогда не будет записан.

Кроме того, минимизируются не только системные вызовы, но и дисковый ввод-вывод как хорошо. Скажем, программа читает файл по одному байту за раз. С небуферизованным вводом,

5
ответ дан 3 December 2019 в 22:37
поделиться
Другие вопросы по тегам:

Похожие вопросы: