Zum Inhalt springen

log datei in c# auslesen


kasumi

Empfohlene Beiträge

Hi leute, ich hab en kleines problemchen^^

dummerweise muss ich für meinen ausbilder bestimmte inhalte in einer logdatei auslesen, die später in einer exeldatei verfasst werden sollen.

Kann mir jemand kurz bitte zeigen wie ich den gesamten inhalt der datei auslese und wie ich bestimmte worte oder datumangaben auslese???

merci:D

Link zu diesem Kommentar
Auf anderen Seiten teilen

so weit bin ich bis jetzt auch gekommen, ich zeig euch mal was ich bis jetzt zusammen bekommen habe :

String zeile = "";

try

{

StreamReader sr = new StreamReader(@"C:080915 von dl_re21peters.log");

while ((zeile = sr.ReadToEnd()) != null)

{

Console.WriteLine(sr.ReadLine());

}

sr.Close();

}

catch

{

// Fehler beim Öffnen der Datei

}

Console.ReadLine();

}

nur irgendwas ist daran falsch...weiß nur nich was... und wie gehts jetzt weiter?

Link zu diesem Kommentar
Auf anderen Seiten teilen

StreamReader sr = new StreamReader(@"C:080915 von dl_re21peters.log");

Normalerweise wird hier ein Pfad erwartet wie "C:\dl_re21peters.log". :rolleyes:

btw: Wenn du dir im catch-Block die Exception anschaust, findest du meist Fehler schneller.

btw²: close in finally.

btw³: Schleifen in Try-Blöcken sind langsam(er).

[Editerle]

btw^4: "zeile" verwenden bei Ausgabe auf Console. :P

Link zu diesem Kommentar
Auf anderen Seiten teilen

was meintst du mit zeile verwenden?


String [B]zeile[/B] = "";

StreamReader sr = null;

try

{

[INDENT]sr = new StreamReader(@"C:080915 von dl_re21peters.log");

while (([B]zeile[/B] = sr.ReadToEnd()) != null)

{

[INDENT]Console.WriteLine([COLOR="Red"]sr.ReadLine()[/COLOR]); [COLOR="Red"]//<-- [B]zeile[/B][/COLOR][/INDENT]


}[/INDENT]

}

catch[COLOR="Red"] (Exception ex)[/COLOR]

{

[INDENT]// Fehler beim Öffnen der Datei

[COLOR="Red"]Console.WriteLine(ex.Message);[/COLOR][/INDENT]


}

finally

{

[INDENT][COLOR="Red"]if (sr != null) sr.Close();[/COLOR][/INDENT]


}

Console.ReadLine();

}

:rolleyes:

Link zu diesem Kommentar
Auf anderen Seiten teilen

er meint, dass die 4 zeile fuer eine konsolenanwendung ist. die du ja wahrscheinlich nicht hast.

doch die habe ich, ich zeig euch mal nen ausschnitt aus der logdatei :

Wed Mar 02 12:41:36 2005

12:41:36 DR: DRAUTO is 0 (Off)

12:41:37 Informix Dynamic Server Version 7.31.TD5 Software Serial Number AAD#J346331

12:41:38 Informix Dynamic Server Initialized -- Shared Memory Initialized.

12:41:38 Physical Recovery Started.

12:41:38 Physical Recovery Complete: 0 Pages Restored.

12:41:38 Logical Recovery Started.

12:41:41 Logical Recovery Complete.

0 Committed, 0 Rolled Back, 0 Open, 0 Bad Locks

12:41:42 Dataskip is now OFF for all dbspaces

12:41:43 Init operation complete - Mode Online

12:41:43 On-Line Mode

12:41:54 Checkpoint loguniq 12289, logpos 0x226018

12:43:43 Checkpoint Completed: duration was 0 seconds.

12:43:43 Checkpoint loguniq 12289, logpos 0x245258

12:43:43 Informix Dynamic Server Stopped.

Wed Mar 02 12:44:05 2005

12:44:05 DR: DRAUTO is 0 (Off)

12:44:06 Informix Dynamic Server Version 7.31.TD5 Software Serial Number AAD#J346331

12:44:07 Informix Dynamic Server Initialized -- Shared Memory Initialized.

12:44:07 Physical Recovery Started.

12:44:07 Physical Recovery Complete: 0 Pages Restored.

12:44:07 Logical Recovery Started.

12:44:11 Logical Recovery Complete.

0 Committed, 0 Rolled Back, 0 Open, 0 Bad Locks

gefiltert werden sollen die datum- angaben und die durations also die zeit die da angegeben ist wie hier z.b die 0

die datumangaben und zeiten ändern sich abschnittweise.

und diese gefilterten daten sollen in eine textdatei geschrieben werden wie z.b so:

02.03.2005 12:43:43;0;

15.09.08 11:48:26;9;

so soll das dann aussehen.

und könnt ihr mir helfen?

Link zu diesem Kommentar
Auf anderen Seiten teilen

ich komm nich weiter sorry, ich weiß zwar wie das mit dem StartsWith und EndWith in bezug auf einzelne worte funktioniert, aber nicht wenn zwischen wir worten eine zahl steht die ich haben möchte, und das mit dem datum und den uhrzeiten krieg ich auch nich hin, kann mir das denn keiner kurz zeigen, nur ein kleines beispiel?

Link zu diesem Kommentar
Auf anderen Seiten teilen

ja wäre da das problem nich das ich das noch nie angewandt habe und null ahnung habe, was glaubst du warum ich denn hier bin? weil ich verzweifle, ich bin in ner ausbildung zur fachinformatikerin und werde seit 2 jahren nicht ausgebildet, ich kann fast nichts, und bald soll ich meine prüfung machen.

Und helfen will mir auch keiner, vom lesen alleine werd ich leider überhaupt nicht schlau, das probier ich schon seit 2 jahren :(

Link zu diesem Kommentar
Auf anderen Seiten teilen

Und helfen will mir auch keiner, vom lesen alleine werd ich leider überhaupt nicht schlau, das probier ich schon seit 2 jahren :(

Lesen und Lernen und auch ausprobieren.

Du erwartest hier im Grunde ein fertiges Beispiel, dadurch lernst Du nicht!

Schaue Dir an, wie man eine Datei zeilenweise liest und schreibt, schaue Dir an wie die String-Klassen funktionieren. Überlege Dir, wie Du eben dein Problem mit Hilfe der Tips hier zu lösen ist, es ist alles Dir gesagt worden was Du brauchst, es wird nun von Dir erwartet, dass Du Dich hinsetzt, es anschaust, verstehst und Deinem Problem entsprechend zusammen setzt

Phil

Link zu diesem Kommentar
Auf anderen Seiten teilen

aber zu deiner beruhigung. man muss in der prüfung nicht programmieren können! sozialkunde, it-systeme und uml ist viel wichtiger und gibt mehr punkte!

also letztes jahr in der prüfung gab es nur eine aufgabe in der pseudocode gefragt war...

http://www.tutorials.de/forum/net-datenverwaltung/221863-c-textdatei-auslesen-brauche-hilfe.html

using System;

using System.IO;

class Test

{

public static void Main()

{

string szSrcLine;

FileStream fsInput = new FileStream ("Inputfile.txt", FileMode.Open, FileAccess.Read);

StreamReader srInput = new StreamReader (fsInput);

while ((szSrcLine = srInput.ReadLine ()) != null)

{

// hier Zeile verarbeiten....

}

srInput.Close ();

fsInput.Close ();

}

}

Bearbeitet von s0h0
Link zu diesem Kommentar
Auf anderen Seiten teilen

sagamal darum geb ich dir ja die links, damit du mal lesen kannst wie die teile funktionieren.

Ausbildung heist nicht, zeug vorgekaut zu bekommen.

Sondern auch genügend zeit zu haben sich mit sachen beschäftigen zu können.

Ich rate dir mal alle webcasts von bernd marquard zu c# und .net dir von der msdn seite zu laden und durchzuackern.

auch die galileo openbooks sind dabei sehr hilfreich.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Lesen und Lernen und auch ausprobieren.

Du erwartest hier im Grunde ein fertiges Beispiel, dadurch lernst Du nicht!

Schaue Dir an, wie man eine Datei zeilenweise liest und schreibt, schaue Dir an wie die String-Klassen funktionieren. Überlege Dir, wie Du eben dein Problem mit Hilfe der Tips hier zu lösen ist, es ist alles Dir gesagt worden was Du brauchst, es wird nun von Dir erwartet, dass Du Dich hinsetzt, es anschaust, verstehst und Deinem Problem entsprechend zusammen setzt

Phil

ja du hast recht ich hatte eigentlich mit ner beispiellösung gerechnet ja.

Denn hinweise bekomm ich von meinem chef auch immer nur stichwortartig und soll lesen, nur kommt dabei nichts hilfreiches raus, das openbook habe ich mittlerweise fast vollständig gelesen.

na gut, dann werd ich halt wieder lesen und auf die erleuchtung warten...merci

Link zu diesem Kommentar
Auf anderen Seiten teilen

naja bevor du ein spiel programmierst wuerde ich erstmal die textdatei auslesen :)

using System;

using System.IO;

namespace FCL_Buch._System_IO {

public class Samples_Dateiinhalte {

public void Datei_lesen() {

// Zeilenweises Lesen aus einer Textdatei

string dateiName = @"..\_daten\dateisystem\protokoll.txt";

// Datei öffnen

FileStream fs = new FileStream(dateiName, FileMode.OpenOrCreate, FileAccess.ReadWrite);

// Stream öffnen

StreamReader r = new StreamReader(fs);

// Zeiger auf den Anfang

r.BaseStream.Seek(0, SeekOrigin.Begin);

// Alle Zeilen lesen und an Console ausgeben

while (r.Peek() > -1)

FclOutput.PrintOut( r.ReadLine() );

// Reader und Stream schliessen

r.Close();

fs.Close();

}

}

}

Link zu diesem Kommentar
Auf anderen Seiten teilen

FileStream fs = new FileStream(dateiName, FileMode.OpenOrCreate, FileAccess.ReadWrite);

Warum öffnest du lesend und schreibend, wenn du nur lesen willst?

OpenOrCreate sollte man hier evtl. auch nicht verwenden - wenn das Ding nicht da ist, dann wird ne Exception geworfen (Du brauchst ja kein leeres Log erstellen, wenn die Datei zum lesen [noch] nicht existiert).

[Edit]

Ah, ok - sieht aus als wäre es aus irgend einem Buch kopiert - hab nix gesagt. :floet:

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...