Чтение необработанного незакодированного содержимого файла (в байтах) - PullRequest
1 голос
/ 28 июня 2011

У меня есть задача сделать «создателя штампов» для Powder Toy.«Штамп» выглядит так: http://i.imgur.com/3Cac3.jpg.Я хотел бы использовать значения байтов для моего создателя.Для этого мне нужно прочитать незакодированное содержимое файла.Любая помощь?Также мне нужно будет создать такой контент.(Может быть, мне лучше использовать массив byte []? (Но как ввести специальные управляющие символы?))

1 Ответ

2 голосов
/ 28 июня 2011

Вы можете легко использовать File.ReadAllBytes, чтобы прочитать файл, и File.WriteAllBytes, чтобы записать его обратно.

Если вам нужно больше контроля вместо чтения всего файла в память, вы можете использовать File.OpenRead и File.OpenWrite для чтения и записи, используя Stream. Если вы сделаете это, убедитесь, что вы утилизируете его - рекомендуется использовать ключевое слово using.

Вот пара примеров

public void CopyFileByReadingItAllToMemory() {
    byte[] data = File.ReadAllBytes(@"C:\Temp\input");
    File.WriteAllBytes(@"C:\temp\output", data);
}

public void CopyFileWithoutReadingItAllToMemory() {
    using (Stream input = File.OpenRead(@"C:\Temp\input"))
    using (Stream output = File.OpenWrite(@"C:\Temp\output"))
    {
        while (true) {
            int value = input.ReadByte();
            if (value == -1) {
                break;
            }

            output.WriteByte((byte)value);
        }
    }
}
...