Presentation laddar. Vänta.

Presentation laddar. Vänta.

Filhantering Grundprincipen för filhantering Öppna filen

Liknande presentationer


En presentation över ämnet: "Filhantering Grundprincipen för filhantering Öppna filen"— Presentationens avskrift:

1 Filhantering Grundprincipen för filhantering Öppna filen
Gör nå’t (läs eller skriv) Stäng filen 

2 Datafiler Filer kan innehålla Ren text (ex källkodsfiler)
Formaterad text (ex .doc-filer) Binärdata (binär information, .exe-filer)

3 C# I/O Streams C# använder “strömmar” för in- och utmatningsoperationer ”inström” Inströmmar används för att “läsa” data Program Källa, Ex tangentbord ”utström” Utströmmar används för att “skriva” data Program Destination, ex. fil på hårddisk

4 Dataströmmar Hårddisk Processor Utenhet In- och utenhet Inenhet
Hårddisk Processor In- och utenhet Inenhet

5 C# I/O Streams Kommunikationskanalen kan vara en nätverkslänk, en minnesbuffert, en fil eller en användarterminal Det spelar ingen roll varifrån informationen kommer, eller vilken typ av data som läses eller skrivs, algoritmerna blir ändå i stort desamma Därför kan strömmarna användas med likartade metoder

6 System.IO Denna namnrymnd innehåller klasser för dataströmmar till och från filer och vanligen till vår bildskärm (klassen Console) . Även dataströmmar kan vi se som ”filer”, dvs måste öppnas och stängas…

7 System.IO Denna namnrymd innehåller klasser för dataströmmar till och från filer, strängar och minne. Klasserna kan indelas i tre kategorier: För hantering av filer och kataloger Directory- och File klasser För läsning/skrivning av bytevärden Stream-klasser För läsning/skrivning av text Reader/Writer-klasser

8 Att skriva till en textfil
Öppna StreamWriter utfil = new StreamWriter("Testa.txt"); utfil.Write("Du kan använda samma metoder här "); utfil.WriteLine("som mot 'Console.Out', ex 'WriteLine'!"); utfil.Close(); Skriv Stäng

9 Att läsa från en textfil
Öppna StreamReader infil = new StreamReader("Testa.txt"); while (true) { string line = infil.ReadLine(); if (line == null) break; Console.WriteLine(line); } infil.Close(); Läs Stäng

10 End-Of-File (EOF) Från en sekventiell fil läses allt i ”tur och ordning”, exempelvis rad efter rad, eller post efter post. När läsningen sker och det inte längre finns något kvar att läsa in från filen uppstår EOF. Hur EOF hanteras varierar mycket mellan olika språk och utvecklingsmiljöer. Ett vanligt sätt är att en ”statusflagga” blir satt, som vi kan testa om den är ”true” eller ”false”. I C# ser vi att vi kommit till EOF genom att resultatet av inläsningen blir null.

11 Vad händer om vi fortsätter efter EOF?
Även detta varierar mycket mellan olika språk och utvecklingsmiljöer. Några vanliga beteenden: Ett felmeddelande ges (exempelvis att ett Exception kastas) Den sista posten bearbetas igen och igen och igen…

12 Read-ahead I miljöer där en statusflagga används för EOF, brukar detta kombineras med Read-Ahead, dvs att det sker en läsning från filen innan loopen börjar, men som inte flyttar punkten för nästa inläsning. Därigenom vet vi om det finns något att läsa in, och kan använda det i vår loop. Exempel, om vi använt en sådan filtyp: while ( !infil.EOF ) { string line = infil.ReadLine(); Console.WriteLine(line); }


Ladda ner ppt "Filhantering Grundprincipen för filhantering Öppna filen"

Liknande presentationer


Google-annonser