Autor Beitrag
Namenlosnameless
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 259
Erhaltene Danke: 6

Windows XP Home Edition, Windos Vista
C#
BeitragVerfasst: Fr 07.05.10 18:23 
Hallo!

Ich habe 2 Fragen!

1) Ich habe einen Ordner mit ca 150 .txt's aus denen will ich immer eine bestimmte Zeile auslesen! Nur habe ich keine Ahnung wie ich es realisieren soll, dass jedes File ausgewählt wird! Ich habe den Begriff der Rekursion im Ohr, aber soweit ich weiß untersucht die ja jedes Unterverzeichnis mit => es wirk etwas übertrieben. theoretisch müsste es eigentlich auch mit einer foreach gehen! Allerdings sind meine bisherigen versuche kläglichst gescheitert!


2) Prinzipiel ist es kein Problem z.b. die 7 Zeile aus einem .txt File auszulesen!
ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
StreamReader SR = new StreamReader(Pfad);

            for (int x = 1; x <= 6; x++)
            {
                SR.ReadLine();
            }
            string Zeile7 = SR.ReadLine();
            SR.Close();


Meine Frage: ist das wirklich das beste??

mfg Christoph


Moderiert von user profile iconChristian S.: Topic aus C# - Die Sprache verschoben am Sa 08.05.2010 um 11:35

_________________
1:<<Life sucks!!>> 2:<< Well okay>> 1: <<Just Yours>> 2:<<Ohmph>>
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19326
Erhaltene Danke: 1749

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Fr 07.05.10 18:34 
Schau dir einmal die Klasse DirectoryInfo an, da gibt es die Methode GetFiles:
msdn.microsoft.com/d...ryinfo.getfiles.aspx
Die liefert dir die Dateien in dem Verzeichnis zurück.

Dann noch nen foreach über die Dateien, fertig.
ausblenden C#-Quelltext
1:
2:
foreach(FileInfo xy in MyFiles)
  ...

Für diesen Beitrag haben gedankt: Namenlosnameless
JüTho
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2021
Erhaltene Danke: 6

Win XP Prof
C# 2.0 (#D für NET 2.0, dazu Firebird); früher Delphi 5 und Delphi 2005 Pro
BeitragVerfasst: Sa 08.05.10 10:50 
Hallo,

da du nur die Dateinamen benötigst, kannst du Sebastians Vorschlag noch mit dem String-Array aus Directory.GetFiles vereinfachen.

Zu deiner Frage 2: Abgesehen davon, dass ich in C# eine Schleife immer beim Index 0 beginnen lassen würde und sich dadurch die Bedingung etwas ändert, gibt es faktisch keinen besseren Weg. (Da verzichte sogar ich auf mein bevorzugtes File.ReadAllLines.) Du willst die ersten 6 Zeilen überspringen; das geht nicht anders als durch Lesen und Ignorieren.

Gruß Jürgen
Kha
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3803
Erhaltene Danke: 176

Arch Linux
Python, C, C++ (vim)
BeitragVerfasst: Sa 08.05.10 12:41 
Ab .NET 4 ginge es noch etwas prägnanter: File.ReadLines(Pfad).ElementAt(6)
Mit ReadAllLines würde man damit unnötigerweise die gesamte Datei einlesen, aber ob das überhaupt eine Rolle spielen würde :nixweiss: ...
Ansonsten kann man am Code von user profile iconNamenlosnameless höchstens noch den fehlenden using-Block bemängeln :) .

_________________
>λ=
Namenlosnameless Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 259
Erhaltene Danke: 6

Windows XP Home Edition, Windos Vista
C#
BeitragVerfasst: Do 13.05.10 10:58 
.NET 4.0 Kann sowas?? Wie genial XD!
Ich habs eh am Computer! nur wollt ich dieses Projekt in VS 2008 schreiben weil ich das auf Deutsch habe und ich mir mitm English ein bissl schwer tu!

_________________
1:<<Life sucks!!>> 2:<< Well okay>> 1: <<Just Yours>> 2:<<Ohmph>>