Just nu i M3-nätverket
Jump to content

Följa en fil?


militia

Recommended Posts

Tja!

 

Sitter o googlar o klurar lite men hittar inte vad jag letar efter. Jag är ute efter en klass som klarar av att följa eller hålla koll på en fil. T.ex när en rad skrivs till en textfil så vill jag även kunna plocka ut denna rad i mitt program. Ungefär som Linux kommandot " tail -F ". Har tittat lite på FileSystemWatcher klassen, men med den lyckas jag bara få fram att filen jag tittar har ändrats, men själva ändringen kan man väl inte få ut?

 

Någon som förstår vad jag vill göra eller har erfaranhet av detta?

 

Tacksam för en knuff i rätt riktning!

 

Link to comment
Share on other sites

Det går inte. När en textfil sparas, så skrivs den gamla över helt och hållet, dvs hela filen skrivs, inte bara det som är ändrat. Du kan dock själv analysera detta, genom att jämföra "före"- och "efter"-filerna.

 

När det gäller databasfiler (och även andra filformat), så finns det mölighet att lyssna på filsystemet som då berättar vilka positioner i filen som skrivs med vilken data. Hur man gör för att lyssna på detta i C# har jag dock ingen aning om.

 

 

Link to comment
Share on other sites

Hur fungerar programmet tail i linux då? Det finns ju även ett program för Windows som heter BareTail som hela tiden monitorerar filer. Så fort en ny rad skrivs till filen så dyker det upp i programmet. Man kanske måste göra som du säger, dvs jämföra före- och efter- filen. Tex ta sista raden i före-filen och börja leta baklänges i den nya tills man hittar rätt och sedan returnera de rader man har sprungit förbi i den nya filen...

 

Link to comment
Share on other sites

Hur fungerar programmet tail i linux då?

 

Ingen aning, jag vet ingenting om filsystemen i Linux.

 

Det finns ju även ett program för Windows som heter BareTail som hela tiden monitorerar filer

 

Ja, men filer som först raderas och sen skrivs på nytt, går inte att följa direkt via filsystemet.

 

Man kanske måste göra som du säger, dvs jämföra före- och efter- filen. Tex ta sista raden i före-filen och börja leta baklänges i den nya tills man hittar rätt och sedan returnera de rader man har sprungit förbi i den nya filen...

 

Jag tror det är ända sättet.

 

 

 

 

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.



×
×
  • Create New...