2016-04-07 1 views
0

私はStreamReaderに奇妙な問題があります。私のプログラムはコンソールプログラムであり、すべての* .csファイルのディレクトリ構造をループする必要があります。次に、特定の単語がファイル内にあるかどうかを確認し、ファイルパスを出力に書き出します。StreamReader.ReadToEndはファイルパスを返します

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"

誰かが私が間違って行ったことを見ることができますか?

答えて

4

あなたは文字列の代わりにストリームリーダー

StringReader Readerを使用しているが文字列

StramReaderから読み取ったTextReaderを実装してバイトストリームから文字を読み込むたTextReaderを実装します特定のコード化

ファイルからの読み取りこのconstructorは私にはないthis記事

+0

を参照して、ファイルが小さく、あなたはより包括的な概要については、一度

でそれをすべて読むのに十分なリソースを持っている場合にもFile.ReadAllTextを使用することができStreamReaderを

に使用します私はコードを読んで何回何回知っていますが、まだこれを逃した! – Andis59

+0

時々あなたはそれを見るために目の新しいペアが必要です。そのため、コードレビューは一般的な習慣です。 – ironstone13

+0

@ Andis59、それがあなたに役立つと答えてください。乾杯! – ironstone13

関連する問題