私のコードは、StringBuilderを使用してネットワークストリームから文字列を構築します。String.Splitはすべての空の配列値を作成します
次に、結果のStringBuilder(myCompleatMessage)をToString
の文字列に変換します。
この時点で文字列は正常です。
私は、上の文字列を区切るために.Split()
を使用しようと「〜」
私はコンソールで、結果の文字列を表示したり、私が取得ファイルに書き込むしよう:「可能System.String []」何度も繰り返す
このための私のコードは次のとおりです。
byte[] myReadBuffer = new byte[3000];
StringBuilder myCompleteMessage = new StringBuilder();
int numberOfBytesRead = 0;
char[] separatingChars = {'~'};
// Incoming message may be larger than the buffer size.
do
{
numberOfBytesRead = stream.Read(myReadBuffer, 0, myReadBuffer.Length);
myCompleteMessage.AppendFormat("{0}", Encoding.ASCII.GetString(myReadBuffer, 0, numberOfBytesRead));
}
while (stream.DataAvailable);
string tosep = myCompleteMessage.ToString();
string[] words = tosep.Split(separatingChars);
Console.Write(tosep);
StreamWriter file = File.AppendText("c:\\Users/edegraaf/Desktop/test.txt");
foreach(string i in words)
{
file.WriteLine(words);
}
file.Close();
文字列のサンプル:
24.062C 2017年5月31日19:36:20.143767〜24.125C 2017年5月31日午後07時37分: 21.075028〜30.25C 2017-05-31 19:38:21.953599〜23.937C 2017-05-31 19:47:34.447627〜23.937C 2017-05-31 19:47:52.717755〜23.812C 2017-05-31 19:49:27.846434〜24.0C 2017-05-31 20:01:08.865726〜24.125C 2017-06-01 14:38:52.948025〜23.375C 2017-06-01 14:39:53.872969〜23.187C 2017年6月1日14:41:05.187961〜28.625Cは、2017年6月1日15:01:48.22
私は "System.String[]
" を取得しています、なぜ誰も私を伝えることができますか?あなたが行うために必要なものを、代わりに、これをですが書くために、
file.WriteLine(words);
:代わりに、配列の値を書き込むの
file.WriteLine(words); file.WriteLine(i)でなければなりません。 – Trey