У меня есть файл (test.txt), который содержит «1234567». Однако, когда я пытаюсь прочитать его на C #, используя FileStream.Read, я получаю только 0 (семь нулей в этом случае) Кто-нибудь может сказать мне, почему? Я действительно потерян здесь.
Редактировать: Проблема решена, неверный оператор сравнения. Однако теперь он возвращает "49505152535455"
Редактировать 2: Готово. Для записи мне пришлось вывести переменную byte как char .
using System;
using System.IO;
class Program
{
static void Main()
{
FileStream fil = null;
try
{
fil = new FileStream("test.txt", FileMode.Open,FileAccess.Read);
byte[] bytes = new byte[fil.Length];
int toRead = (int)fil.Length;
int Read = 0;
while (toRead < 0)
{
int n = fil.Read(bytes, Read, toRead);
Read += n;
toRead -= n;
}
//Tried this, will only return 0000000
foreach (byte b in bytes)
{
Console.Write(b.ToString());
}
}
catch (Exception exc)
{
Console.WriteLine("Oops! {0}", exc.Message);
}
finally
{
fil.Close();
}
Console.ReadLine();
}
}