Es gibt viele verschiedene Möglichkeiten, Dateien ( Textdateien , nicht binär) in C # zu lesen und zu schreiben .
Ich brauche nur etwas, das einfach ist und die geringste Menge an Code verwendet, da ich in meinem Projekt viel mit Dateien arbeiten werde. Ich brauche nur etwas, string
da ich nur string
s lesen und schreiben muss .
string.Write(filename)
. Warum ist die Microsoft-Lösung einfacher / besser als meine?"foo".Write(fileName)
können Sie einfach eine Erweiterung erstellen, um dies zu tunpublic static Write(this string value, string fileName) { File.WriteAllText(fileName, value);}
und es in Ihren Projekten zu verwenden.Zusätzlich zu
File.ReadAllText
,File.ReadAllLines
undFile.WriteAllText
(und ähnlichen Helfern aus derFile
Klasse), die in einer anderen Antwort angezeigt werden , können SieStreamWriter
/StreamReader
classes verwenden.Schreiben einer Textdatei:
Textdatei lesen:
Anmerkungen:
readtext.Dispose()
anstelle von verwendenusing
, aber es wird Datei / Leser / Schreiber in Ausnahmen nicht geschlossenusing
/Close
ist ein sehr häufiger Grund dafür, "warum Daten nicht in eine Datei geschrieben werden".quelle
using
Ihre Streams wie in der anderen Antwort gezeigt sind - stackoverflow.com/a/7571213/477420using System.IO;
zu verwenden Stream und Stream .new StreamWriter("write.txt", true)
Es wird eine Datei erstellt, wenn keine Datei vorhanden ist, andernfalls wird eine Datei an eine vorhandene Datei angehängt.quelle
fs
am Ende?Einfach, leicht und entsorgt das Objekt, sobald Sie damit fertig sind.
quelle
Der einfachste Weg, aus einer Datei zu lesen und in eine Datei zu schreiben:
quelle
File.WriteAllText
zum Schreiben eines Teils?@AlexeiLevenkov hat mich auf einen anderen "einfachsten Weg" hingewiesen, nämlich die Erweiterungsmethode . Es dauert nur ein wenig Codierung und bietet dann die absolut einfachste Möglichkeit zum Lesen / Schreiben. Außerdem bietet es die Flexibilität, Variationen gemäß Ihren persönlichen Anforderungen zu erstellen. Hier ist ein vollständiges Beispiel:
Dies definiert die Erweiterungsmethode für den
string
Typ. Beachten Sie, dass das einzige, was wirklich zählt, das Funktionsargument mit dem zusätzlichen Schlüsselwortthis
ist, das es auf das Objekt verweist, an das die Methode angehängt ist. Der Klassenname spielt keine Rolle; Die Klasse und Methode müssen deklariert werdenstatic
.So verwenden Sie das
string extension method
: Beachten Sie, dass es sich automatisch auf Folgendes beziehtclass Strings
:Ich hätte das selbst nie gefunden, aber es funktioniert großartig, also wollte ich das teilen. Habe Spaß!
quelle
Dies sind die besten und am häufigsten verwendeten Methoden zum Schreiben und Lesen von Dateien:
Die alte Methode, die mir am College beigebracht wurde, war die Verwendung von Stream Reader / Stream Writer, aber die Datei- E / A-Methoden sind weniger umständlich und erfordern weniger Codezeilen. Sie können "Datei" eingeben. in Ihrer IDE (stellen Sie sicher, dass Sie die System.IO-Importanweisung einschließen) und sehen Sie alle verfügbaren Methoden. Im Folgenden finden Sie Beispielmethoden zum Lesen / Schreiben von Zeichenfolgen in / aus Textdateien (.txt.) Mit einer Windows Forms-App.
Fügen Sie einer vorhandenen Datei Text hinzu:
Rufen Sie den Dateinamen vom Benutzer über den Datei-Explorer / Dialogfeld "Datei öffnen" ab (Sie benötigen diesen, um vorhandene Dateien auszuwählen).
Text aus einer vorhandenen Datei abrufen:
quelle
Oder wenn es wirklich um Linien geht:
System.IO.File enthält auch eine statische Methode WriteAllLines , sodass Sie Folgendes tun können:
quelle
Verwenden Sie beim Lesen das OpenFileDialog-Steuerelement, um zu einer beliebigen Datei zu navigieren, die Sie lesen möchten. Finden Sie den Code unten:
Vergessen Sie nicht, die folgende
using
Anweisung hinzuzufügen , um Dateien zu lesen:using System.IO;
Zum Schreiben von Dateien können Sie die Methode verwenden
File.WriteAllText
.quelle
quelle
Sie suchen die
File
,StreamWriter
undStreamReader
Klassen.quelle
quelle