Avatar billede brokov Nybegynder
29. juli 2008 - 00:09 Der er 2 kommentarer og
1 løsning

Tilføje tekst i tekst fil

Jeg har en række tekst filer i en undermappe, som jeg gerne vil tilføje en stump tekst til, og så flytte dem til en anden undermappe.
Teksten skal tilføjes i første linje af filen. Linjen er en semikolon separeret linje, hvor teksten skal tilføjes lige før 2. semikolon. Linjen er som følger: "Fast tekst;variabel længde heltal;........."

Eftersom jeg er helt ny til det her med at læse og skrive filer, overvejede jeg om følgende ikke var muligt, eller om det kan gøres bedre, uden at det bliver for kompliceret, og om nogen kunne hjælpe med nogle fif eller kodestykker:

Jeg bruger en bytereader til at læse sourcefilerne, for hver byte bliver der tjekket om jeg er nået til semikolon nummer 2, hvis ikke skriver den byten til den nye fil. Så snart semikolon 2 er læst, skrives den ekstra tekst til den nye fil, hvorefter semikolonet skrives. Derefter skriver den resten af filen færdig uden at tjekke for flere semikoloner.

Grunden til jeg har kigget på en enkel fremgangsmåde, er som sagt at det er lettere uigennemskueligt for mig lige nu, plus at filerne der skal behandles i snit kun vil være 7-10 kb. Så jeg giver måske afkald på lidt performance, men kan få kodet noget uden at det tager alt for lang tid.

Men selv med noget så simpelt har jeg brug for lidt hjælp af en art, for at komme derudaf, når det gælder det her filmanipulation.
Avatar billede wanze Nybegynder
29. juli 2008 - 02:06 #1
Det nemmeste ville være, hvis du indlæste linjen i en string.

Først åbner du filen:
StreamReader fil = new StreamReader(_FIL_HER_);

Herefter indlæser du den første linje i en string:
string linje = fil.ReadLine();

Herefter deler du linjen op:
string[] opdeltLinje = linje.Split(';');

opdeltLinje vil nu være et array med de forskellige dele af linjen.

(StreamReader kræver System.IO)
Avatar billede wanze Nybegynder
29. juli 2008 - 02:09 #2
Jeg trykkede vist lige Send lidt for hurtigt der.

Hvis filen fx indeholder: "Fast tekst;variabel længde heltal;.........", så vil resultatet med ovenstående kode være, at opdeltLinje indeholder følgende:
opdeltLinje[0] = "Fast tekst";
opdeltLinje[1] = "variabel længde heltal";
opdeltLinje[2] = ".........".

Herefter skulle resten være lige til at gå til. :-)
Avatar billede brokov Nybegynder
30. juli 2008 - 09:40 #3
Tak skal du have, det der hjalp faktisk, så jeg kunne gennemskue og modificere noget andet kode jeg havde liggende. Så blev man lidt klogere igen. :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester