Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * Aufgabe 3 - Datei Einlesen
- *
- * Schreibe ein Programm, das den Namen einer Textdatei erfragt.
- * Das Programm soll die Textdatei lesen und zählen wie viele
- * Sätze in der Datei stehen. Der Einfachheit halber kannst Du
- * annehmen, dass Sätze durch die Zeichen -.! Und ? getrennt
- * werden und alle Zeichen in einer Zeile stehen. Die Textdatei
- * hat dann also nur eine Zeile.
- *
- * =====================================================================
- * Aufgabe 4 - Fehler abfangen
- * Erweitere Dein Programm aus Aufgabe 2 dahingehend, dass Fehler
- * abgefangen werden. Prüfe also ob der eingegebene Dateiname korrekt
- * ist. Gibt es noch weiter Fehler die passieren könnten?
- *
- */
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.IO;
- namespace Tutorium_7_3
- {
- class Program
- {
- // Funktion um Sätze zu zählen
- public static int Sätzezählen(StreamReader file)
- {
- int anzahlsätze = 0;
- // Schleife welche jeden einzelnen Buchstaben sich anschaut bis die Datei am Ende ist
- while (file.EndOfStream != true)
- {
- char zeichen = Convert.ToChar(file.Read()); // da wir nur ein Zeichen jweiles überprüfen müssen wir in char umwandeln
- if (zeichen == '-' || zeichen == '.' || zeichen == '!' || zeichen == '?')
- {
- anzahlsätze++;
- }
- }
- return anzahlsätze;
- }
- static void Main(string[] args)
- {
- // Von Aufgabe 4 fangen wir hier die Exception ab
- try
- {
- Console.WriteLine("Namen der Datei angeben");
- string dateiname = Console.ReadLine();
- StreamReader sr = new StreamReader(dateiname);
- Console.WriteLine("Die Datei enthält " + Sätzezählen(sr) + " Sätze");
- sr.Close();
- }
- catch
- {
- // Wir schmeißen nur unsere Exseption zurück ohne Standard Fehlernummer wie es oft bei Herr Müller gezeigt wird.
- throw new Exception ("Die angegebene Datei existiert nicht!");
- }
- Console.ReadKey();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement