سؤال

أريد قراءة البيانات وكتابةها في وقت واحد. هل يمكنني استخدام StreamReader و StreamWriter مع ملف فقط؟ ولماذا الكود أدناه لا يخرج الأرقام؟

var stream = new FileStream(path,FileMode.Create,FileAccess.ReadWrite,FileShare.ReadWrite);
var sw = new StreamWriter(stream);
var sr = new StreamReader(stream);


for(int i=0;i<10;i++)
{
    sw.WriteLine(i);
}

stream.Seek(0,SeekOrigin.Begin);
for(int i=0;i<10;i++)
{
 Console.WriteLine(sr.ReadLine());
}

stream.Close();
هل كانت مفيدة؟

المحلول

أنت بحاجه إلى Flush StreamWriter لإجبارها على كتابة البيانات من المخزن المؤقت الداخلي إلى الدفق.
بدلاً من ذلك ، يمكنك تعيين StreamWriter's AutoFlush خاصية ل true

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top