Feedback

C# - Zeile in Datei finden

Veröffentlicht von am 06.08.2014
(0 Bewertungen)
Methode um eine bestimmte Zeile mit bestimmten String-Inhalt zu finden.

Beispiel:
int zeile_sqlserver = findeZeile("-sqlserver=")

GFU-Schulungen  [Anzeige]

VB.NET Komplett

Sie stehen vo der Aufgabe, individuelle Anwendungen für Windows zu schreiben. Hier ist VB.NET die optimale Sprache. Sie erlernt sich recht leicht und passt sich komplett in die .NET Umgebung von Microsoft ein. Nach der Schulung entwickeln Sie anwenderfreundliche Programme in VB.NET . Mit den objektorientierten Modellen in VB.NET erzeugen Sie außerdem wiederverwendbare Komponenten.

JavaScript für .NET-Entwickler

Sie sind .NET-Entwickler und nun stehen Sie vor der Aufgabe, JavaScript in Ihre Arbeit einzubinden. Die Schulung vermittelt Ihnen die JavaScript Grundlagen und die Funktionen der Scriptsprache. Sie wissen, wie objektorientierte Programmierung in JavaScript funktioniert und lernen abschließend Best Practicies Fälle kennen.

public static int findeZeile(String settings_key)
        {
            int position = 0;

            try
            {
                int counter = 0;
                String temp = "";
                bool found = false;

                //Datei laden und schritt für Schritt lesen wo der String sich befindet
                StreamReader Reader1 = new StreamReader(EinstellungsSetPfad);
                StreamReader Reader2 = new StreamReader(EinstellungsSetPfad);

                while (Reader1.ReadLine() != null && found != true)
                {
                    temp = Reader2.ReadLine();

                    if (temp.Contains(settings_key))
                    {
                        position = counter;
                        found = true;
                    }
                    else
                    {
                        counter++;
                    }
                }
                //

                return position + 1;
            }
            catch (Exception ex)
            {
                return 0;
            }
        }
Abgelegt unter file, zeile, datei, finden.

1 Kommentare zum Snippet

Koopakiller schrieb am 06.08.2014:
Ein paar Anmerkungen/Fragen zu deinem Snippet:
1.) Warum 2 Streamreader? Einer reicht.
2.) Es ist besser eine Exception weiter zu leiten. Einfach 0 zurück zu geben verbirgt nur den wahren Fehler und du bekomsmt ihn vielleicht nie mit.
3.) Irgend etwas deutsch zu benennen finde ich sowieso seltsam, da es aus der Reihe tanzt. Noch seltsamer finde ich es eigene Dinge mal de mal en zu benennen.
4.) Ich fände es besser eine Art LINQ-Methode dafür zu schreiben. Denn eine Datei komplett neu einzulesen, nur um einen Index zu finden ist i.d.R. sinnlos leistungsfressend. Mit einer Methode, die ein IEnumerable<T> durchsucht könntest du die Datei mit File.ReadLines lesen und sobald ein Vorkommen gefunden wurde den Index zurück geben. Die weiteren Zeilen würden hier nicht mehr gelesen werden. So könnte die Methode aussehen:
public static int FindFirstMatch(this IEnumerable<string> source, string settings_key)
{
int lnCount = -1;
foreach (var ln in source)
{
++lnCount;
if (ln.Contains(settings_key))
break;
}
return lnCount;
}
 

Logge dich ein, um hier zu kommentieren!