Home   Cover Cover Cover Cover
 

Ein-/Ausgabe

Beispiel "Dateieinträge schreiben"

Zeigt wie einfache Texteinträge in eine Datei geschrieben werden.

../../../samples/4/IO/Logfile.cs
using System;
using System.IO;
using System.Text; // fuer Encoding-Definitionen

namespace Kapitel4.IO {

  public class LogfileExample {
    public static void Main() {
      FileStream fs;
      fs = new FileStream("log.txt", FileMode.OpenOrCreate, FileAccess.Write);
      // Ein StreamWriter-Objekt wird auf fs gesetzt.
      // Beispiel f�ngt eventuell auftretende Exceptions, der Einfachheit halber, nicht ab.
      StreamWriter sw = new StreamWriter(fs, Encoding.Unicode);
      sw.BaseStream.Seek(0, SeekOrigin.End);
      sw.WriteLine("Log-Eintrag 1");
      sw.WriteLine("Log-Eintrag 2");
      sw.Close();
      fs.Close();
    }
  }
}




Beispiel "Verzeichnis"

Zeigt alle Dateien und Verzeichnisse eines gegebenen Verzeichnisses an.

../../../samples/4/IO/Verzeichnis.cs
using System;
using System.IO;

namespace Kapitel4.IO {

  public class DirectoryExample {
    public static void Main() {
      DirectoryInfo info = Directory.CreateDirectory("c:\\");
      Console.WriteLine("---------- Verzeichnisse ----------");
      DirectoryInfo[] di = info.GetDirectories();
      for (int i = 0; i < di.Length; i++)
        Console.WriteLine(di[i].Name);
      Console.WriteLine ("---------- Dateien ----------");
      FileInfo[] fi = info.GetFiles();
      for (int i = 0; i < fi.Length; i++) 
        Console.WriteLine(fi[i].Name);
    }
  }
}




Beispiel "Verzeichnis ueberwachen"

Überwacht die Veränderungen eines Verzeichnisbaums.

../../../samples/4/IO/Ueberwachen.cs
using System;
using System.IO;

namespace Kapitel4.IO {
  public class WatcherEventExample {

    public static void Changed(object sender, FileSystemEventArgs args) {
      Console.WriteLine("Changed ->" + args.Name);
    }
  
    public static void Created(object sender, FileSystemEventArgs args) {
      Console.WriteLine("Created ->" + args.Name);
    }
  
    public static void Deleted(object sender, FileSystemEventArgs args) {
      Console.WriteLine("Deleted ->" + args.Name);
    }
  
    public static void Renamed(object sender, RenamedEventArgs args) {
      Console.WriteLine("Renamed ->" + args.Name);
    }
    
    public static void Main() {
      FileSystemWatcher fsw = new FileSystemWatcher("c:\\");
      // Registriere alle Ereignis-Interessenten:
      fsw.Changed += new FileSystemEventHandler(Changed);
      fsw.Created += new FileSystemEventHandler(Created);
      fsw.Deleted += new FileSystemEventHandler(Deleted);
      fsw.Renamed += new RenamedEventHandler(Renamed);
      fsw.IncludeSubdirectories = true;
      fsw.EnableRaisingEvents = true;
      fsw.Filter = "*.*";
      int countChanges = 0;
      while ( countChanges < 10 ) {
        fsw.WaitForChanged(WatcherChangeTypes.All);
        countChanges++;
      }
    }
  }
}




Beispiel "Isolierte Speicherbereiche"

Definiert einen isolierten Speicherbereich für eine bestimmte Anwendung.

../../../samples/4/IO/IsolierterSpeicher.cs
using System;
using System.IO;
using System.IO.IsolatedStorage;

namespace Kapitel4.IO {

  public class IsolatedStorageExample {

    public static void Main() {
      // Erzeugen einer isolierten Datei
      IsolatedStorageFile iso =  IsolatedStorageFile.GetStore
        (IsolatedStorageScope.User | IsolatedStorageScope.Assembly, null, null);
      // Erzeugen eines Datenstroms, der in diese isolierte Datei schreibt
      IsolatedStorageFileStream ifs = new IsolatedStorageFileStream
        ("test", FileMode.OpenOrCreate, iso);
      // Ausgabe in StreamWriter umleiten, um komfortabler Strings schreiben zu k�nnen
      StreamWriter sw = new StreamWriter(ifs);
      // Speicherung eines Test-Strings in den isolierten Bereich
      sw.Write("Das ist ein Test");
      // Schlie�en der Ausgabestr�me mit implizitem Flush des Datenpuffers
      sw.Close ();
      ifs.Close ();
      iso.Close ();
    }
  }
}