簡體   English   中英

StreamReader.ReadToEnd返回文件路徑

[英]StreamReader.ReadToEnd returns file path

我對StreamReader有一個奇怪的問題。 我的程序是一個控制台程序,它應該遍歷所有* .cs文件的目錄結構。 然后檢查文件中是否有特定單詞,並寫入文件路徑以輸出。

using (StringReader sr = new StringReader(fPath))
{
    string content = sr.ReadLine(); // sr.ReadToEnd();
    Debug.WriteLine(content);
    int found = content.IndexOf(p);
    if (found != -1)
    {
        result = true;
    }
}

這是我用來在特定文件中查找工作的代碼。 問題是sr.ReadToEnd(而且還有ReadLine)返回fPath的值而不是文件的內容!

該文件存在且未鎖定。

如果fPath是:“ C:\\ TEMP \\ DC_LV1_LaMine_Mk2Plus_134_ix220_20160404 \\ Alarm.Script.cs”

內容將為:“ C:\\ TEMP \\ DC_LV1_LaMine_Mk2Plus_134_ix220_20160404 \\ Alarm.Script.cs”

誰能看到我做錯了嗎?

您正在使用字符串閱讀器而不是閱讀器

StringReader實現了從字符串讀取的TextReader

StramReader實現了TextReader,該TextReader以特定編碼從字節流中讀取字符

如果要從文件讀取,請將此構造函數用於StreamReader

如果文件很小並且您有足夠的資源可以一次讀取所有文件,則也可以使用File.ReadAllText

為了更全面的概述,請參閱文章

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM