Der Dateizugriff über StreamReader und StreamWriter

[  → ]

Hier ein Beispiel das den Dateizugriff über die NET-Klassen StreamReader und StreamWriter zeigt. Der Klassen lesen und schreiben mit guter Performance. Es ist eine Fehlerbehandlung für Dateizugriffsprobleme vorzusehen. Grundsätzlich kann man Dateien sequentiell lesen über .ReadLines  oder gleich komplett Einlesen über .ReadAllLines 

Es ist auch möglich Datei-Inhalte in eine Collection einzulesen.

Listing:

using System;
using System.IO;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        private void button1_Click(object sender, EventArgs e)
        {
            listBox1.Items.Add(textBox1.Text);
        }

        private void button2_Click(object sender, EventArgs e)
        {
            listBox1.Items.Clear();
        }

        private void button3_Click(object sender, EventArgs e)
        {
            List2File();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            loadFromFile();

        }

        public void List2File() {
            int i; 

          try
            {
                System.IO.StreamWriter file = new System.IO.StreamWriter("C:\\daten\\todo.txt"); 

                for (i = 0; i < listBox1.Items.Count; i++)
                {
                    file.WriteLine(listBox1.Items[i]);
                }
                file.Close();
            }   catch { }
            MessageBox.Show("gespeichert!");
        }

         public void loadFromFile()

        {
            int counter = 0;
            string line;

            try
            {
            // Read lines
                System.IO.StreamReader file =
                    new System.IO.StreamReader("C:\\Daten\\todo.txt");
                while ((line = file.ReadLine()) != null)
                {
                    listBox1.Items.Add(line);
                    counter++;
                }
                file.Close();
            }  catch { }
        }
    }
}
 

Source-Code