2011-05-19 173 views
4

我的錯誤是什麼,因爲我無法在互聯網上找到與我正在做的事情相匹配的例子,或者至少我不確定它是否會發生?閱讀文件流讀取器

我遇到的問題是它不喜歡

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(); 
} 
+4

「它不喜歡它」不是一個非常詳細的描述。你有什麼確切的問題? – 2011-05-19 02:29:05

回答

2

有幾件事我會做出不同。

第一,你應該使用FileStreamusing。但實際上,如果你只是想讀取文本文件中的行,一個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 
} 

如果你想你的整個輸入文件轉換爲十六進制值,讓我們知道。我現在只是假設一行一行。

6

缺少「)」。 。嘗試:

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

    while ((line = sr.ReadLine()) != null) 
    { 
     s=... 
    } 
}