Nicht Lesen kann, von einem geschlossenen TextReader

Habe ich ein system, dass die Prozesse einige große CSV-Dateien.

Hat sich die Situation nun entstanden ist, wo könnten diese Dateien haben eine Anzahl von keiner getrennt, wertlos Linien vor dem eigentlichen Komma-getrennte Inhalte.

Ich den Ansatz genommen haben, ist das erstellen einer temporären Leser zu prüfen, die Anzahl der überflüssigen Linien und bewegen Sie dann die arbeiten TextReader auf, dass die Anzahl der Zeilen zur Verarbeitung bereit.

Mein code ist wie folgt:

private static TextReader PrepareReader(TextReader reader)
    {
        //Variables
        TextReader tmpReader = reader;
        Int32 superfluousLineCount = 0;

        //Determine how many useless lines we have
        using (tmpReader)
        {
            string line;
            string headerIdentifier = "&1,";
            while ((line = tmpReader.ReadLine()) != null)
            {
                //Check if the line starts with the header row identifier
                if (line.Substring(0, 3) != headerIdentifier)
                {
                    //Increment the superfluous line counter
                    superfluousLineCount++;
                }
                else
                {
                    break;
                }
            }
        }

        //Move the source reader through how many lines we want to ignore
        using (reader)
        {
            for (int i = superfluousLineCount; i > 0; i--)
            {
                reader.ReadLine();
            }
        }

        //Return
        return reader;
    }

Jedoch die reader.ReadLine(); in diesem Teil des Codes:

for (int i = superfluousLineCount; i > 0; i--)
{
reader.ReadLine();
}

...wirft die folgende Ausnahme

Nicht Lesen kann, von einem geschlossenen TextReader.
ObjectDisposedException in mscorlib
Methode:
Void ReaderClosed()

Stack-Trace:
System.IO.__Fehler.ReaderClosed()
System.IO.StreamReader.ReadLine()
bei CsvReader.PrepareReader(TextReader reader) CsvReader.cs:Zeile 93

Jede Beratung sehr geschätzt. Auch, ist der beste Weg zu gehen über meine Herausforderung?

Hinweise: Framework 2.0

Dank.

InformationsquelleAutor Ste | 2012-06-14
Schreibe einen Kommentar