Zoeken…


Een tekstbestand lezen met StreamReader

string fullOrRelativePath = "testfile.txt";

string fileData;

using (var reader = new StreamReader(fullOrRelativePath))
{
    fileData = reader.ReadToEnd();
}

Merk op dat deze StreamReader constructoroverbelasting enige automatische coderingsdetectie StreamReader , die al dan niet overeenkomt met de daadwerkelijke codering die in het bestand wordt gebruikt.

Houd er rekening mee dat er enkele File.ReadAllText(path) zijn die alle tekst uit het bestand lezen die beschikbaar is in de klasse System.IO.File , namelijk File.ReadAllText(path) en File.ReadAllLines(path) .

Gegevens lezen / schrijven met System.IO.File

Laten we eerst drie verschillende manieren bekijken om gegevens uit een bestand te extraheren.

string fileText = File.ReadAllText(file);
string[] fileLines = File.ReadAllLines(file);
byte[] fileBytes = File.ReadAllBytes(file);
  • Op de eerste regel lezen we alle gegevens in het bestand als een tekenreeks.
  • Op de tweede regel lezen we de gegevens in het bestand in een string-array. Elke regel in het bestand wordt een element in de array.
  • Op de derde lezen we de bytes uit het bestand.

Laten we vervolgens drie verschillende methoden bekijken om gegevens aan een bestand toe te voegen . Als het opgegeven bestand niet bestaat, maakt elke methode het bestand automatisch voordat wordt geprobeerd de gegevens eraan toe te voegen.

 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.");
 }
  • Op de eerste regel voegen we eenvoudig een string toe aan het einde van het opgegeven bestand.
  • Op de tweede regel voegen we elk element van de array toe aan een nieuwe regel in het bestand.
  • Ten slotte gebruiken we op de derde regel File.AppendText om een File.AppendText te openen die alle gegevens toevoegt die erop worden geschreven.

En tot slot, laten we drie verschillende methoden bekijken om gegevens naar een bestand te schrijven. Het verschil tussen het toevoegen en het schrijven is dat het schrijven over-schrijft de gegevens in het bestand, terwijl bijgevoegde draagt bij aan de gegevens in het bestand. Als het door u opgegeven bestand niet bestaat, maakt elke methode het bestand automatisch voordat wordt geprobeerd de gegevens ernaar te schrijven.

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 });
  • De eerste regel schrijft een string naar het bestand.
  • De tweede regel schrijft elke string in de array op zijn eigen regel in het bestand.
  • En op de derde regel kunt u een byte-array naar het bestand schrijven.

Seriële poorten met System.IO.SerialPorts

Itereren via aangesloten seriële poorten

using System.IO.Ports;
string[] ports = SerialPort.GetPortNames();
for (int i = 0; i < ports.Length; i++)
{
    Console.WriteLine(ports[i]);
}

Instantiëren van een System.IO.SerialPort-object

using System.IO.Ports;
SerialPort port = new SerialPort();
SerialPort port = new SerialPort("COM 1"); ;
SerialPort port = new SerialPort("COM 1", 9600);

OPMERKING : dit zijn slechts drie van de zeven overbelastingen van de constructor voor het SerialPort-type.


Gegevens lezen / schrijven via de SerialPort

De eenvoudigste manier is om de methoden SerialPort.Read en SerialPort.Write gebruiken. U kunt echter ook een System.IO.Stream object ophalen waarmee u gegevens via de SerialPort kunt streamen. Gebruik hiervoor SerialPort.BaseStream .

Lezing

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);

U kunt ook alle beschikbare gegevens lezen:

string curData = port.ReadExisting();

Of lees gewoon de eerste nieuwe regel in de inkomende gegevens:

string line = port.ReadLine();

Schrijven

De eenvoudigste manier om gegevens over de SerialPort te schrijven is:

port.Write("here is some text to be sent over the serial port.");

U kunt echter ook op deze manier gegevens verzenden als dat nodig is:

//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
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow