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 einen File.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);


Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow