#c# #filestream
#c# #filestream
Вопрос:
В чем моя ошибка, поскольку я не могу найти пример в Интернете, который соответствует тому, что я делаю, или, по крайней мере, я не уверен, соответствует ли он?
Проблема, с которой я сталкиваюсь, заключается в том, что ему не нравится
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();
}
Комментарии:
1. «Ему это не нравится» — не очень подробное описание. С какой именно проблемой вы столкнулись?
Ответ №1:
Отсутствует «)». . Попробуйте:
using (StreamReader sr = new StreamReader("TestFile.txt"))
{
String line;
while ((line = sr.ReadLine()) != null)
{
s=...
}
}
Ответ №2:
Есть несколько вещей, которые я бы сделал по-другому.
Во-первых, вы должны использовать 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
}
Если вы пытаетесь преобразовать свой весь входной файл в шестнадцатеричное значение, сообщите нам об этом. Пока я просто буду предполагать построчно.