TCPlistnerから次の形式の大きな文字列を受け入れました
"1,7620257787,0123456789,99,0922337203,9223372036,32.5455,87,12.7857,1 / 1 / 2012,9223372036:1,7620257787,0123456789,99,0922337203,9223372036,32.5455,87,12.7857:2/1/2012 、234234234:3,7620257787,01234343456789,99,0922337203,9223372036,32.5455,87,12.7857,1 / 1 / 2012,9223372036:34,76202343457787,012434343456789,93339,34340922337203,9223372036,32.5455,87,12.7857,1 / 1 / 2012,9223372036 "
これは、コンマで区切られたフィールドであるレコードを含む:で区切られた文字列であることがわかります。
文字列を指定された数のチャンクに分割し、1つのチャンクに完全なレコード(「:」までの文字列)が含まれるように注意する最良の(最速の)方法を探しています
または他の言い方をすれば、で終わらないチャンクがあってはなりません:
たとえば、20MBの文字列からそれぞれ適切なレコードを持つ5MBの4つのチャンク(したがって、各チャンクのサイズは正確に5 MBではない場合がありますが、それに非常に近く、4つのチャンクすべての合計は20 MBになります)
私の質問を理解していただければ幸いです(英語が下手でごめんなさい)
私は次のリンクが好きですが、分割は完全な記録を処理しませんが、それが最善かつ最速の方法であるかどうかもわかりません。