.NET Framework
System.IO
Suche…
Lesen einer Textdatei mit StreamReader
string fullOrRelativePath = "testfile.txt";
string fileData;
using (var reader = new StreamReader(fullOrRelativePath))
{
fileData = reader.ReadToEnd();
}
Beachten Sie, dass diese Überladung des StreamReader
Konstruktors eine automatische Codierungserkennung durchführt , die möglicherweise der in der Datei verwendeten Codierung entspricht.
Beachten Sie, dass es einige bequeme Methoden gibt, die den gesamten Text aus der Datei lesen, die in der System.IO.File
Klasse verfügbar ist, nämlich File.ReadAllText(path)
und File.ReadAllLines(path)
.
Lesen / Schreiben von Daten mit System.IO.File
Lassen Sie uns zunächst drei verschiedene Möglichkeiten zum Extrahieren von Daten aus einer Datei betrachten.
string fileText = File.ReadAllText(file);
string[] fileLines = File.ReadAllLines(file);
byte[] fileBytes = File.ReadAllBytes(file);
- In der ersten Zeile lesen wir alle Daten in der Datei als Zeichenfolge.
- In der zweiten Zeile lesen wir die Daten in der Datei in ein String-Array. Jede Zeile in der Datei wird zu einem Element im Array.
- Beim dritten lesen wir die Bytes aus der Datei.
Lassen Sie uns als Nächstes drei verschiedene Methoden zum Anhängen von Daten an eine Datei anzeigen. Wenn die von Ihnen angegebene Datei nicht vorhanden ist, erstellt jede Methode die Datei automatisch, bevor sie die Daten anfügt.
File.AppendAllText(file, "Here is some data that is\nappended to the file.");
File.AppendAllLines(file, new string[2] { "Here is some data that is", "appended to the file." });
using (StreamWriter stream = File.AppendText(file))
{
stream.WriteLine("Here is some data that is");
stream.Write("appended to the file.");
}
- In der ersten Zeile fügen wir einfach eine Zeichenkette am Ende der angegebenen Datei hinzu.
- In der zweiten Zeile fügen wir jedes Element des Arrays in eine neue Zeile in der Datei ein.
- In der dritten Zeile schließlich verwenden wir
File.AppendText
, um einenFile.AppendText
zu öffnen, der die angehängten Daten anfügt.
Und schließlich wollen wir drei verschiedene Methoden zum Schreiben von Daten in eine Datei sehen. Der Unterschied zwischen anhängen und das Schreiben ist , dass das Schreiben der Daten in der Datei überschreibt , während fügt in der Datei mit den Daten angehängt wird . Wenn die von Ihnen angegebene Datei nicht vorhanden ist, erstellt jede Methode die Datei automatisch, bevor sie die Daten in die Datei schreibt.
File.WriteAllText(file, "here is some data\nin this file.");
File.WriteAllLines(file, new string[2] { "here is some data", "in this file" });
File.WriteAllBytes(file, new byte[2] { 0, 255 });
- Die erste Zeile schreibt eine Zeichenfolge in die Datei.
- Die zweite Zeile schreibt jeden String im Array in eine eigene Zeile in der Datei.
- In der dritten Zeile können Sie ein Byte-Array in die Datei schreiben.
Serielle Ports mit System.IO.SerialPorts
Iteration über angeschlossene serielle Ports
using System.IO.Ports;
string[] ports = SerialPort.GetPortNames();
for (int i = 0; i < ports.Length; i++)
{
Console.WriteLine(ports[i]);
}
Instantiieren eines System.IO.SerialPort-Objekts
using System.IO.Ports;
SerialPort port = new SerialPort();
SerialPort port = new SerialPort("COM 1"); ;
SerialPort port = new SerialPort("COM 1", 9600);
HINWEIS : Dies sind nur drei der sieben Überladungen des Konstruktors für den SerialPort-Typ.
Daten über den SerialPort lesen / schreiben
Der einfachste Weg ist die Verwendung der Methoden SerialPort.Read
und SerialPort.Write
. Sie können jedoch auch ein System.IO.Stream
Objekt System.IO.Stream
, mit dem Sie Daten über den SerialPort streamen können. Verwenden Sie dazu SerialPort.BaseStream
.
lesen
int length = port.BytesToRead;
//Note that you can swap out a byte-array for a char-array if you prefer.
byte[] buffer = new byte[length];
port.Read(buffer, 0, length);
Sie können auch alle verfügbaren Daten lesen:
string curData = port.ReadExisting();
Oder lesen Sie einfach den ersten Zeilenumbruch in den eingehenden Daten:
string line = port.ReadLine();
Schreiben
Der einfachste Weg, Daten über den SerialPort zu schreiben, ist:
port.Write("here is some text to be sent over the serial port.");
Sie können jedoch bei Bedarf auch Daten wie folgt senden:
//Note that you can swap out the byte-array with a char-array if you so choose.
byte[] data = new byte[1] { 255 };
port.Write(data, 0, data.Length);