Benutzer-Werkzeuge

Webseiten-Werkzeuge


schule:dateioperationen

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
schule:dateioperationen [2017-04-19 08:39] – Externe Bearbeitung 127.0.0.1schule:dateioperationen [2019-12-12 20:47] (aktuell) – C#-Version ausgegliedert. marco.bakera
Zeile 1: Zeile 1:
 ====== Dateioperationen ====== ====== Dateioperationen ======
  
-===== Schreiben in eine Datei ===== 
  
-{{ :schule:prog:livecodekonsolestreamwriter.png?nolink|}}+  * [[Dateioperationen in C-Sharp]]
  
-Um in eine Datei zu schreiben, kann der folgende Quelltext verwendet werden. 
- 
-<code csharp> 
-using System.IO; 
-//... 
- 
-StreamWriter sw; 
-sw = new StreamWriter("test.txt"); 
- 
-sw.WriteLine("Eine Zeile"); 
-sw.Close(); 
-</code> 
- 
-Mit der ''using''-Anweisung werden Klassen für die Ein- und Ausgabe (IO = Input/Output) zur Verfügung gestellt. 
-Die Datei ''test.txt'' landet hierbei direkt neben der EXE-Datei des Programms. Man kann einen vollständigen Pfad angeben. Hierbei muss vor den Anführungszeichen ein @-Symbol angegeben werden: ''<nowiki>@"C:\Users\Bakera\Desktop\test.txt"</nowiki>''. 
- 
-Weitere Details stehen z.B. in [[http://openbook.rheinwerk-verlag.de/visual_csharp_2012/1997_12_005.html#dodtpb2003e06-cf60-4f3c-875b-4a7559147ac1|Kapitel 12.5 von Visual C# 2012]]. 
- 
-==== Speicherndialog ==== 
- 
-Komfortabler ist die Verwendung eines Speicherndialoges, in dem der Nutzer den Speicherort und Dateiname selbst festlegen kann. 
- 
-{{ :schule:prog:einbuttonfenster.png?nolink|}} 
- 
-Wir gehen von einem Fenster mit einem Button und folgenden Quelltext aus. 
- 
-<code csharp> 
-private void button1_Click(object sender, EventArgs e) 
-{ 
-  SaveFileDialog sfd = new SaveFileDialog(); 
-  DialogResult result = sfd.ShowDialog(); 
-  if(result == DialogResult.OK) 
-  { 
-    string sDatei = sfd.FileName; 
-    MessageBox.Show("Es wurde Datei " + sDatei + " gewählt"); 
-  } 
-} 
-</code> 
- 
-Nach einem Klick auf den Button erscheint das folgende Fenster und der Nutzer kann eine Datei auswählen. 
- 
-{{:schule:prog:savefiledialog.png?nolink|}} 
- 
-Wenn der Dialog nicht abgebrochen wird, erscheint im Anschluss eine ''MessageBox'', die den Dateiname anzeigt. 
- 
-{{:schule:prog:messageboxdateiname.png?nolink|}} 
- 
-Der ''SaveFileDialog'' kann umfangreich konfiguriert werden. So kann z.B. die Auswahl der Dateien auf Textdateien beschränkt werden. 
- 
-<code csharp> 
-sfd.Filter ="Textdateien (*.txt)|*.txt" 
-</code> 
- 
-===== Lesen einer Datei ===== 
- 
-Das Lesen einer Datei erfolgt fast wie das Schreiben in eine Datei. Statt dem ''StreamWriter'' benutzen wir nun einen ''StreamReader''. Da wir nicht wissen, wann das Ende der Datei erreicht ist, müssen wir dies mit ''EndOfStream'' in einer Schleife prüfen. 
- 
-<code csharp> 
-// StreamReader zum Lesen erstellen 
-StreamReader datei = new StreamReader(@“C:\datei.csv“); 
- 
-// Solange noch Zeilen gelesen werden können... 
-while( !datei.EndOfStream ) 
-{ 
-  // Zeile aus der Datei lesen 
-  string zeile = datei.ReadLine(); 
-  // etwas mit der Textzeile machen 
-} 
- 
-// Datei schließen 
-datei.Close(); 
-</code> 
- 
-Eine Datei kann auch byteweise eingelesen werden 
- 
-<code csharp> 
-FileStream stream = new FileStream(sDateiname, FileMode.Open); 
-int einByte = stream.ReadByte();             
-while (einByte != -1) 
-{ 
-    byte b  = (byte) einByte; 
-    // ...  
-    einByte = stream.ReadByte(); 
-} 
-stream.Close();            
-</code> 
  
schule/dateioperationen.1492583986.txt.gz · Zuletzt geändert: 2019-12-12 20:47 (Externe Bearbeitung)