Считыватель потока файлов - PullRequest
4 голосов
/ 19 мая 2011

В чем моя ошибка, так как я не могу найти в Интернете пример, который бы соответствовал тому, что я делаю, или, по крайней мере, я не уверен, что так?это не нравится

hexIn = fileStream.Read()

код:

FileStream fileStream = new FileStream(fileDirectory, FileMode.Open, FileAccess.Read);
String s;

try
{
    for (int i = 0; (hexIn = fileStream.Read() != -1; i++)
    {
        s = hexIn.ToString("X2");
        //The rest of the code
    }
}
finally
{
    fileStream.Close();
}

Ответы [ 2 ]

7 голосов
/ 19 мая 2011

Отсутствует ")". , Попробуйте:

using (StreamReader sr = new StreamReader("TestFile.txt"))
{
    String line;

    while ((line = sr.ReadLine()) != null)
    {
        s=...
    }
}
2 голосов
/ 19 мая 2011

Есть несколько вещей, которые я бы сделал по-другому.

Первое, вы должны использовать FileStream с using. Но на самом деле, если вы просто пытаетесь прочитать строки в текстовом файле, StreamReader будет в порядке:

try
{
    using (StreamReader sr = new StreamReader("TestFile.txt"))
    {
        String line;

        while ((line = sr.ReadLine()) != null)
        {
            // convert line to Hex and then format with .ToString("X2")
        }
    }
}
catch
{
    // handle error
}

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

...