[C#] Een Textdocument uitlezen zonder hem te openen.

Pagina: 1
Acties:
  • 25 views sinds 30-01-2008

  • Gurbe de n00b
  • Registratie: Juni 2003
  • Laatst online: 08-02-2024
Hallo,

Ik ben bezig met een applicatie waarbij ik een textbestandje moet uitlezen zonder dat hij echt mag worden geopend.
Want dan kan het andere programma niet meer schrijven.
Er word ongeveer elke 3 seconden in geschreven.

Ik kan hem niet gewoon openen.
Eerst kopieren en dan openen is ook geen optie want het is een behoorlijk document en dan word hij weer in gebruik genomen door de uitlees app.

Iemand enig idee hoe ik dit kan oplossen ?

Portfolio


  • martijnve
  • Registratie: December 2004
  • Laatst online: 13-02 14:16
Uitlezen zonder te openen kan niet. Wat je wel kan doen is openen naar het geheugen copieren (helemaal of alleen wat je nodig hebt) en meteen sluiten. Dat hoeft afhankelijk van het formaat nier meer dan een fractie van een seconde te duren. En dan de eerste keer proberen tot het openen lukt. en daarna gewoon elke 3 sec even openen.

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 14-02 12:34

gorgi_19

Kruimeltjes zijn weer op :9

Kijk eens naar http://msdn2.microsoft.com/en-us/library/7db28s3c.aspx, daar wordt ook eea beschreven over asynchroon bestanden benaderen :)

[ Voor 31% gewijzigd door gorgi_19 op 20-08-2006 20:19 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

en naar http://www.thescripts.com/forum/thread236171.html

wat je wilt is het bestand non-exclusive openen (for read)

  • Gurbe de n00b
  • Registratie: Juni 2003
  • Laatst online: 08-02-2024
Bedankt voor de snelle reactie.

Het blijkt nu dat het programma die schrijft het niet leuk vind om in het bestand te schrijven terwijl hij al is geopend.

Ik ben niet echt een kei in C#, maar kan een Asychroon een uitkomst voor dit probleem zijn ?

Anders kan ik altijd nog de oplossing van martijnve toepassen.

Maar ik prefereer een stream.

Portfolio


  • whoami
  • Registratie: December 2000
  • Laatst online: 14-02 20:35
Als je het bestand wilt uitlezen, zal je het zowiezo moeten openen. Hoe kan jij een boek lezen zonder het te openen.
Je kan het bestand wel openen, zonder dat je het daarom 'locked voor andere programma's.

Ik zou zeggen: kijk maar eens naar de verschillende mogelijkheden die de FileStream class biedt, één van de constructors van die class laat je toe om de FileAccess te specifieren.
code:
1
FileStream fs = new FileStream (@"c:\test.txt", FileMode.Open, FileAccess.Read, FileShare.ReadWrite);


Verder is dit alles te vinden in de MSDN.

https://fgheysels.github.io/

Pagina: 1

Dit topic is gesloten.