サーチ…


StreamReaderを使用してテキストファイルを読み込む

string fullOrRelativePath = "testfile.txt";

string fileData;

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

このStreamReaderコンストラクタのオーバーロードは、ファイル内で使用されている実際のエンコーディングに一致する場合と一致しない場合がある自動エンコーディング検出を行います。

System.IO.Fileクラスで使用できるファイル、つまりFile.ReadAllText(path)File.ReadAllLines(path)からすべてのテキストを読み取る便利なメソッドがいくつかあることに注意してください。

System.IO.Fileを使用したデータの読み取り/書き込み

まず、ファイルからデータを抽出する3つの異なる方法を見てみましょう。

string fileText = File.ReadAllText(file);
string[] fileLines = File.ReadAllLines(file);
byte[] fileBytes = File.ReadAllBytes(file);
  • 最初の行では、ファイル内のすべてのデータを文字列として読み込みます。
  • 2行目では、ファイル内のデータを文字列配列に読み込みます。ファイル内の各行は配列内の要素になります。
  • 3番目に、ファイルからバイトを読み込みます。

次に、データをファイルに追加する 3つの異なる方法を見てみましょう。指定したファイルが存在しない場合、各メソッドはデータを追加する前にファイルを自動的に作成します。

 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.");
 }
  • 最初の行では、指定されたファイルの最後に文字列を追加するだけです。
  • 2行目では、配列の各要素をファイルの新しい行に追加します。
  • 最後に3行目でFile.AppendTextを使用してFile.AppendTextを開き、書き込まれたデータを追加します。

最後に、ファイルにデータを書き込む 3つの異なる方法を見てみましょう。 追加書き込みの違いは、ファイル内のデータに追加を追加しながら、 書き込みがデータをファイルに上書きすることです。指定したファイルが存在しない場合、各メソッドはデータを書き込む前にファイルを自動的に作成します。

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 });
  • 最初の行は文字列をファイルに書き込みます。
  • 2行目は配列内の各文字列をファイル内のそれ自身の行に書き込みます。
  • そして3行目では、バイト配列をファイルに書き込むことができます。

System.IO.SerialPortsを使用するシリアルポート

接続されたシリアルポートを反復する

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

System.IO.SerialPortオブジェクトのインスタンス化

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

:これらは、SerialPortタイプのコンストラクタの7つのオーバーロードのうちの3つのみです。


SerialPortを介したデータの読み書き

最も簡単な方法は、 SerialPort.ReadおよびSerialPort.Writeメソッドを使用することです。ただし、SerialPort経由でデータをストリーミングするために使用できるSystem.IO.Streamオブジェクトを取得することもできます。これを行うには、 SerialPort.BaseStream使用します。

読書

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

利用可能なすべてのデータを読むこともできます:

string curData = port.ReadExisting();

あるいは、入ってくるデータで最初に見つかった改行を読むだけです:

string line = port.ReadLine();

書き込み

SerialPort経由でデータを書き込む最も簡単な方法は次のとおりです。

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

ただし、必要に応じて次のようにデータを送信することもできます。

//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
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow