Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Ta bort rader ur fil

Postades av 2009-03-26 14:03:31 - Andreas Olausson, i forum c# (c-sharp), Tråden har 5 Kommentarer och lästs av 943 personer

Jag har en fil som ser ut på detta vis

<code>

-----------------------------------------
12;20091;1;J”r...
12;20091;1;Kri...
12;20091;1;Hj”...
12;20091;1;LŽR...
12;20091;1;;SVE...
12;20091;1;LOK...
12;20091;1;OSA...
12;20091;1;;HAN...
12;20091;1;;ERI...

(17313 rows affected)
</code>

Jag vill nu ta bort följande rader:
1. Den första tomma raden
2. Den andra raden som innehåller alla "-" (variabelt antal "-")
3. raden som det står (17313 rows affected), denna kan givetvis innehålla andra siffror


Jag vill helt enkelt öppna filen radera det jag ska och sedan stänga den.


Det ska göras i c# (vs2008)

Tack på förhand


Svara

Sv: Ta bort rader ur fil

Postades av 2009-03-26 14:38:49 - Cecilia Wirén

Om du har en fil som alltid skall tas bort första raden samt andra raden (den med alla "-") samt den sista raden (rows affected) kan du använda följande kod:

            string[] stringArray = System.IO.File.ReadAllLines(pathToFile);

            List<string> stringList = new List<string>(System.IO.File.ReadAllLines(""));
            stringList.RemoveRange(0,2);
            stringList.RemoveAt(stringList.Count-1);

            System.IO.File.WriteAllLines(pathToNewFile,stringList.ToArray());


om inte det är alltid så att två första och sista som skall bort kan du jobba med arrayen och plocka bort de rader som du inte vill ha innan du använder WriteAllLines.


Svara

Sv:Ta bort rader ur fil

Postades av 2009-03-26 15:20:21 - Oskar Johansson

Cecilias lösning kommer nog fungera bra, men.. Det finns några nackdelar som kan vara bra att känna till:
1) Den skapar en ny fil, om den skriver över den gamla så finns det ingen backup utifall att det skiter sig mitt under skrivningen
2) Om det handlar om en stor fil så kan den äta mycket minne, hela filen måste läsas in i minnet innan skrivning.

En annan lösning, dock lite längre att skriva, är att läsa rad för rad och titta på innehållet, för att sedan skriva ner det till en ny fil. Efter slutförd skrivning tar man sedan bort originalet och döper om den nya. (Det sista steget går dock att applicera på Cecilias lösning, problemet med minnesmängden kvarstår dock.)

Cecilias lösning har dock en fördel: hastigheten. Där sker läsning först, skrivning sedan. Hårddisken behöver då inte förflytta huvudet så ofta.

Fördelar och nackdelar..


Svara

Sv:Ta bort rader ur fil

Postades av 2009-03-26 15:20:23 - Andreas Olausson

Tack du är en ängel!

Edit: Oscar, det är ingen fara om filen försvinner, det är bara att köra om den då och filerna är ganska stora, den största jag sett är på 133 MB men normal ligger dom på ca 20-40


Svara

Sv: Ta bort rader ur fil

Postades av 2009-03-26 15:31:14 - Niklas Jansson

<b>>Cecilias lösning har dock en fördel: hastigheten. Där sker läsning först, skrivning sedan. Hårddisken behöver då inte förflytta huvudet så ofta. </b>
Tveksam till detta påståendet. Dels sker en viss schemaläggning, dels är hårddiskarna ordentligt smarta nu för tiden, och dels så blandas det ändå med flera andra samtida läsningar/skrivningar.

Min gissning är snarare att om det är någon skillnad så är din lösning snabbare.


Svara

Sv:Ta bort rader ur fil

Postades av 2009-03-26 16:03:35 - Oskar Johansson

Mjao, det beror på storleken. På stora filer, och man har mycket ram-minne, så är det nog snabbare att läsa så mycket som möjligt innan skrivning.


Svara

Nyligen

  • 18:42 Hvor finder man håndlavede lamper
  • 18:41 Hvor finder man håndlavede lamper
  • 16:36 Allt du behöver veta om keramiskt
  • 16:14 Vem anlitar man egentligen när tak
  • 16:14 Vem anlitar man egentligen när tak
  • 16:13 Vem anlitar man egentligen när tak
  • 11:52 Noen erfaring med uttak hos Mostbe
  • 11:51 Noen erfaring med uttak hos Mostbe

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 699
27 958
271 741
693
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies