Lecteur de flux Readline détecter les caractères de saut de ligne

Je suis en train de supprimer toute "nouvelle ligne" les caractères de chaque ligne de texte dans mon fichier de log.

Ci-dessous est un exemple d'entrée que je suis de la lecture avec un Lecteur de Flux :-

<![LOG[Raising event:
[SMS_CodePage(850), SMS_LocaleID(2057)]
instance of SoftDistProgramStartedEvent
{
    AdvertisementId = "000216F6";
    ClientID = "GUID:B55C2757-CBAE-468E-B54F-46CAF2ECF68F";
    CommandLine = "\"C:\\WINNT\\system32\\cscript.exe\" /nologo Shutdown_Desktops_Overnight.vbs";
    DateTime = "20130211080211.784000+000";
    MachineName = "DWD*****";
    PackageName = "0000073C";
    ProcessID = 2516;
    ProgramName = "Shutdown Desktops Overnight";
    SiteCode = "S00";
    ThreadID = 3640;
    UserContext = "NT AUTHORITY\\SYSTEM";
    WorkingDirectory = "C:\\WINNT\\system32\\CCM\\Cache\
<![LOG[Raising event:
[SMS_CodePage(850), SMS_LocaleID(2057)]
instance of SoftDistProgramStartedEvent
{
AdvertisementId = "000216F6";
ClientID = "GUID:B55C2757-CBAE-468E-B54F-46CAF2ECF68F";
CommandLine = "\"C:\\WINNT\\system32\\cscript.exe\" /nologo Shutdown_Desktops_Overnight.vbs";
DateTime = "20130211080211.784000+000";
MachineName = "DWD*****";
PackageName = "0000073C";
ProcessID = 2516;
ProgramName = "Shutdown Desktops Overnight";
SiteCode = "S00";
ThreadID = 3640;
UserContext = "NT AUTHORITY\\SYSTEM";
WorkingDirectory = "C:\\WINNT\\system32\\CCM\\Cache\\0000073C.1.System\\";
};
]LOG]!><time="08:02:11.800+000" date="02-11-2013" component="execmgr" context="" type="1" thread="3640" file="event.cpp:522">
00073C.1.System\\"
; }; ]LOG]!><time="08:02:11.800+000" date="02-11-2013" component="execmgr" context="" type="1" thread="3640" file="event.cpp:522">

Dans le fichier de Log, cela est affiché sur une seule ligne dans le fichier, avec les "Caractères de Nouvelle Ligne" remplacé par un carré.

J'utilise le code suivant pour lire dans le journal de bord :-

using (StreamReader sr = new StreamReader(@"C:\Documents and Settings\riversd\Desktop\Logfile2.log"))
        {
            string Line;

            while ((Line = sr.ReadLine()) != null)
            {

            }
        }

Le problème est que lorsque le StreamReader lit dans le fichier txt elle se casse :-

"<![LOG[Raising event:"

J'ai besoin de supprimer tous les caractères de nouvelle ligne dans cette entrée, à la volée. Je ne veux pas lire tout le fichier en mémoire, puis de les supprimer, je préfère traiter avec chaque journal comme je l'ai lu.

Est-il possible?

  • Si vous pouvez supprimer le saut de ligne avant de le lire dans la ligne, alors ce ne serait pas une ligne lisible avec ReadLine et vous pensez peut-être à lire dans le fichier complet sur une seule ligne à la fin.
  • Je veux modifier la ligne comme je l'ai lu, à la volée.
InformationsquelleAutor Derek | 2013-02-20