6237 Programmering II (Csharp) Agenda/Streams

From Teknologisk videncenter
Jump to: navigation, search

Læsning af filer

Når man skal læse og skrive tekstfiler i C# foregår det ved hjælp af Streams.
For at kunne anvende streams skal man først have tilføjet System.IO i using.


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;


Hvis man skal læse en tekstfil foregår det med StreamReader.
Her åbnes filen "logfile.txt" i StreamReaderen inFil.
Derefter læses filen linie for line indtil filen ikke er længere (EndOfStream)
(Bemærk at programmet ikke laver noget ved de data som læses)


class Program
{
	static void Main(string[] args)
	{
		StreamReader inFile = new StreamReader("logfile.txt");
		String line;
		while (!inFile.EndOfStream)
		{
			line = inFile.ReadLine();
		}
		inFile.Close();
	}
}


Hvis man vil skrive til en fil foregår det ved hjælp af StreamWriter.
Eksemplet herunder åbner filen logfile, læser linierne en af gangen.
Hvis linien indeholder ordet "DNS" skrives linien i outFile.


class Program
{
	static void Main(string[] args)
	{
		StreamReader inFile = new StreamReader("logfile.txt");
		StreamWriter outFile = new StreamWriter("output.txt");
		String line;
		while (!inFile.EndOfStream)
		{
			line = inFile.ReadLine();
			if (line.Contains("DNS"))
			{
				outFile.WriteLine(line);
			}
		}
		outFile.Close();
		inFile.Close();
	}
}