14-10-12, 04:44 PM
الفئة File Stream :
هذه الفئة التي تطبق الفئة القاعدية abstract class السابق تختص فقط بالتعامل مع ال streaming مع الملفات .
المثال التالي يوضح الكتابة في عدة أماكن من الملف ومن ثم قراءة البيانات المكتوبة - قبل الكتابة فقط نحتاج لتحويل الرسالة إلى bytes لذا لا تنس هذه الخطوة .
C#:
vb.net:
هذه الفئة التي تطبق الفئة القاعدية abstract class السابق تختص فقط بالتعامل مع ال streaming مع الملفات .
المثال التالي يوضح الكتابة في عدة أماكن من الملف ومن ثم قراءة البيانات المكتوبة - قبل الكتابة فقط نحتاج لتحويل الرسالة إلى bytes لذا لا تنس هذه الخطوة .
C#:
كود :
private void filestreamexample(string msg, string beforeendmsg)
{
using(FileStream f1 = File.Open(@"C:\test.txt",
FileMode.Create))
{
byte[] msgArray = Encoding.Default.GetBytes(msg);
byte[] beforeendmsgArray = Encoding.Default.GetBytes(beforeendmsg);
f1.Write(msgArray , 0, msgArray.Length);
f1.Position = fStream.Lenght-10;
f1.Write(beforeendmsgArray , 0, msgAsByteArray.Length);
// view total message.
long totalLenght=msgArray.Length + msgAsByteArray.Length;
byte[] filemsg = new byte[totalLenght];
for (int i = 0; i < totalLenght; i++)
filemsg[i] = (byte)f1.ReadByte();
Console.WriteLine(Encoding.Default.GetString(filemsg));
}
}vb.net:
كود :
Private Sub filestreamexample(ByVal msg As String, ByVal beforeendmsg As String)
Using f1 As FileStream = File.Open("C:\test.txt", FileMode.Create)
Dim msgArray As Byte() = Encoding.[Default].GetBytes(msg)
Dim beforeendmsgArray As Byte() = Encoding.[Default].GetBytes(beforeendmsg)
f1.Write(msgArray, 0, msgArray.Length)
f1.Position = fStream.Lenght - 10
f1.Write(beforeendmsgArray, 0, msgAsByteArray.Length)
' view total message.
Dim totalLenght As Long = msgArray.Length + msgAsByteArray.Length
Dim filemsg As Byte() = New Byte(totalLenght - 1) {}
For i As Integer = 0 To totalLenght - 1
filemsg(i) = CByte(f1.ReadByte())
Next
Console.WriteLine(Encoding.[Default].GetString(filemsg))
End Using
End Sub