Hier mal eine Klasse für das Handling mit Textdateien.
- Einlesen einer Datei
- Schreiben einer Datei
- Text an eine Datei anhängen
- Zeilen einer Datei ersetzen
- Zeilen einfügen
Quelle
using System;
using System.IO;
class TextDatei
{
///
/// Liefert den Inhalt der Datei zurück.
///
///
public string ReadFile(String sFilename)
{
string sContent = "";
if (File.Exists(sFilename))
{
StreamReader myFile = new StreamReader(sFilename, System.Text.Encoding.Default);
sContent = myFile.ReadToEnd();
myFile.Close();
}
return sContent;
}
///
/// Schreibt den übergebenen Inhalt in eine Textdatei.
///
///
///
zu schreibender Text
public void WriteFile(String sFilename,String sLines)
{
StreamWriter myFile = new StreamWriter(sFilename);
myFile.Write(sLines);
myFile.Close();
}
///
/// Fügt den übergebenen Text an das Ende einer Textdatei an.
///
///
///
public void Append(string sFilename, string sLines)
{
StreamWriter myFile = new StreamWriter(sFilename,true);
myFile.Write(sLines);
myFile.Close();
}
///
/// Liefert den Inhalt der übergebenen Zeilennummer zurück.
///
///
///
public string ReadLine(String sFilename, int iLine)
{
string sContent = "";
float fRow=0;
if (File.Exists(sFilename))
{
StreamReader myFile = new StreamReader(sFilename, System.Text.Encoding.Default);
while (! myFile.EndOfStream && fRow < iLine)
{
fRow++;
sContent = myFile.ReadLine();
}
myFile.Close();
if(fRow < iLine)
sContent = "";
}
return sContent;
}
///
/// Schreibt den übergebenen Text in eine definierte Zeile.
///
public void WriteLine(String sFilename, int iLine, string sLines, bool bReplace)
{
string sContent = "";
string[] delimiterstring = { "\r\n" };
if (File.Exists(sFilename))
{
StreamReader myFile = new StreamReader(sFilename, System.Text.Encoding.Default);
sContent = myFile.ReadToEnd();
myFile.Close();
}
string[] sCols = sContent.Split(delimiterstring, StringSplitOptions.None);
if (sCols.Length >= iLine)
{
if (!bReplace)
sCols[iLine - 1] = sLines + "\r\n" + sCols[iLine - 1];
else
sCols[iLine - 1] = sLines;
sContent = "";
for (int x = 0; x < sCols.Length-1; x++)
{
sContent += sCols[x] + "\r\n";
}
sContent += sCols[sCols.Length-1];
}
else
{
for (int x = 0; x < iLine - sCols.Length; x++)
sContent += "\r\n";
sContent += sLines;
}
StreamWriter mySaveFile = new StreamWriter(sFilename);
mySaveFile.Write(sContent);
mySaveFile.Close();
}
}
Wie verwende ich diese Klasse?
TextDatei c_textdatei = new TextDatei();
//Einlesen einer Datei
string fs = c_textdatei.ReadFile(@"c:\text.txt");
//Schreiben einer Datei
c_textdatei.WriteFile(@"C:\text.txt", "Hallo Welt!");
//Text an eine Datei Anhängen
c_textdatei.Append(@"C:\text.txt", "Hallo Welt!");
//Zeilen einer Datei ersetzen
c_textdatei.WriteLine(@"C:\text.txt", 2, "neuer Text für diese Zeile", true);
//Zeilen in eine Datei einfügen
c_textdatei.WriteLine(@"C:\text.txt", 2, "eine eingefügte Zeile", false);
Hinterlasse einen Kommentar