Filhantering - PowerPoint PPT Presentation

About This Presentation
Title:

Filhantering

Description:

Title: Programmering och programspr k Author: Bj rn Abelli Last modified by: Ekonomih gskolan Created Date: 9/11/1997 11:25:52 PM Document presentation format – PowerPoint PPT presentation

Number of Views:31
Avg rating:3.0/5.0
Slides: 13
Provided by: Bj170
Category:

less

Transcript and Presenter's Notes

Title: Filhantering


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
Utenhet
101010101
HÃ¥rddisk
101010101
Processor
101010101
In- och utenhet
101010101
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)
Write a Comment
User Comments (0)
About PowerShow.com