Hoofdstuk 2 - Les 2

Om naar een tekstbestand te schrijven maak dan gebruik van TestReader of StreamReader:

TextReader tr = File.Open(@"C:\myfile.txt");
Console.WriteLine(tr.ReadToEnd());
tr.Close();


Om met binaire bestanden te werken maak dan gebruik van BinaryWriter en BinaryReader:

FileStream fs = new FileStream("data.txt", FileMode.Create);
BinaryWriter bw = new BinaryWriter(fs);
for(int i = 0; i <= 10; i++)
{
bw.Write((int)i);
}
bw.Close();
fs.Close();

fs = new FileStream("data.txt", FileMode.Read);
BinaryReader br = new BinaryReader(fs);
for(int i = 0; i <= 10; i++)
{
Console.WriteLine(r.ReadInt32());
}
br.Close();
fs.Close();


Met de MemoryStream wordt niet naar een bestand geschreven, maar naar het geheugen, waarna het vervolgens naar een bestand oid kan worden geschreven.

Ook kan gebruik gemaakt worden van de compressed streams, zoals GZipStream.

Isolated storage is een prive bestandssysteem dat wordt beheerd door het .NET Framework. Om hier naar toe te schrijven zijn geen speciale streams nodig, gebruik gewoon StreamReader en StreamWriter. Om naar een isolated storage te schrijven zijn minder rechten nodig dan wanneer naar de harde schijf wordt geschreven.

Isolated storage is prive en geisoleerd bij gebruiker, domein en assembly. Toegang tot een bestand in Isolated storage is beperkt tot de gebruiker die hem heeft aangemaakt. Assembly B kan dus niet bij de bestanden in een isolated storage van assembly A.

De volgende classes werken met isolated storage:

IsolatedStorageFile - Beheert de isolated storage stores.
IsolatedStorageFileStream - Biedt toegang tot schrijven en lezen in isolated storage stores.
IsolatedStorageException - Een class om isolated storage exceptions af te vangen.

Voorbeeld:

IsolatedStorageFile isfStore = IsolatedStorageFile.GetUserStoreForAssembly();
IsolatedStorageFileStream isfs = new IsolatedStorageFileStream("bestand.txt", FileMode.Create, isfStore);

StreamWriter sw = new StreamWriter(isfs);

sw.WriteLine("Voorbeeld tekst");

sw.Close();


Op dezelfde wijze kan het bestand ook worden gelezen.

Reacties

Populaire posts van deze blog

[SQL Server] varchar vs nvarchar

MS Sql 70-461: Chapter 5

[C#] Class serialiseren en deserialiseren