我什至不確定如何充分描述這個問題。在讀取流時,我在塊中構建的文本字串只是緩沖區的文字長度,一遍又一遍。
string json = "";
context.Request.InputStream.Position = 0;
using (StreamReader inputStream = new StreamReader(context.Request.InputStream)) {
while (inputStream.Peek() >= 0) {
char[] buffer = new char[4096];
json = inputStream.Read(buffer, 0, buffer.Length);
System.Console.WriteLine(jsonInput.Length);
}
}
// json = "40964096409640964096 ... 4096"
知道這里有什么問題嗎?
謝謝
uj5u.com熱心網友回復:
inputStream.Read(buffer, 0, buffer.Length);回傳從流中讀取的位元組數,只要有資料可用,它就是 4096。 string in上的運算子json = ...會隱式轉換為字串,因此您在json變數中總結的實際上是緩沖區長度的串聯。你想要做的是連接緩沖區,例如
int dataRead = inputStream.Read(buffer, 0, buffer.Length);
json = Encoding.ASCII.GetString(buffer, 0, dataRead);
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/524196.html
標籤:C#。网流式阅读器
上一篇:構造3個關系的新物件
