Fájlkezelés

A C# fájlkezelése kicsit összetetteb, mint a Pascal-é, mivel OOP gondolkodásra van szükség, azonban nem túlságosan bonyolult.

A .NET sokféle lehetőséget ad a filekezelésre. Mivel az érettségihez elsősorban Text fájl kezelésre van szükség, ezért azt vettem először velük:

using System;
using System.IO;
class Program
{
  static public void Main()
  {
    FileStream fs = new FileStream("Text.txt", FileMode.Open);
    StreamReader rs = new StreamReader(fs);
    string s = rs.ReadLine();
    while(s != null)
    {
      Console.WriteLine(s);
      s = rs.ReadLine();
    }
    rs.Close();
    fs.Close();
    Console.ReadKey();
  }
}

A fenti kód megnyit egy textfájlt, majd olvas belőle és a sorokat kiírja a képernyőre. Az újdonság Pascalhoz képest annyi, hogy először egy FIleStream típust kell létrehozni, majd utána egy StreamReader típust és azt használva lehet olvasni a fájlból.

A FileSTream létrehozásakor kell megmondanom a C# előre definiíált megnyitási típusaiból, hogy a file-t hogyan akarom megnyitni, FileMode.Open, Create, CreateNew, Append, stb... módon.

A filemegnyitáshoz be kell include-olni a System.IO névteret is.

Ha a file-ba írni akarunk, akkor a StreamWriter osztályt kell használni.

Bináris fájlok esetén a BinaryReader és BinaryWriter osztályokat kell használni, valahogy így:

using System;
using System.IO;
class Program
{
  static public void Main()
  {
    BinaryWriter bw = new BinaryWriter(File.Create("file.bin"));

    for(int i = 0;i < 100;++i)
    {
      bw.Write(i);
    }
    bw.Close();
    BinaryReader br = new BinaryReader(File.Open("file.bin", FileMode.Open));
    while(br.PeekChar() != -1)
    {
      Console.WriteLine(br.ReadInt32());
    }
    br.Close();
    Console.ReadKey();
  }
}

A bináris adatok beolvasása során azonbban figyelni kell arra, hogy a beolvasott byte-ok menniysége a beolvasandó típusnak megfelelő legyen.

Abban az esetben, ha a beolvasandó adatok egy Text fájlban vannak, akkor azt a szintaktikát kell haszáálni, mint amikor a billentyűzetről olvasunk be adatokat, vagyis hibakezelést érdemes beírni a programba (try .... catch... utasításpárral)

Ezt az anyagrészt körülbelül 8-10 órányi gyakorlattal lehet elsajátíttatni a diákokkal.

Megjegyzések:

  • Amikor már vannak Windowsos programok, akkor egy RTF típusú szövegdobozba annak egy metódusával lehet beolvasni az adatokat és azzal lehet őket kiírni is.
  • A könyvtársturktúra módosítása, bejárása, a fájlok attribútumainak kezelése a középiskolai tananyag lehetőségein túlmutatnak.

Valid XHTML 1.0 Transitional Valid CSS file Link firefox.hu pagerank

Design: © 2007-2011 Fábián Zoltán