fileStream问题急需解答
我写的文件传送的程序有错,文件总是不能全部传过去,我发的文件大小为10MB。下面是主要代码
服务器
程序代码:Socket tempSocket = mainSocket.Accept();
byte[] receiveStringBytes = new byte[1024];
int receiveBytesLength = tempSocket.Receive(receiveStringBytes);
if (receiveBytesLength > 0)
{
FileStream fs = new FileStream("D:\\11.rar", FileMode.Open, FileAccess.Read);
long longs=fs.Length ;
long i=0;
byte[] buffer = new byte[fs.Length];
while (longs > 0)
{
fs.Seek(i * 2048, SeekOrigin.Current );
fs.Read(buffer, 0, 2048);
longs = longs - 2048;
i++;
}
tempSocket.Send(buffer);
fs.Close();
fs.Dispose();
tempSocket.Close ();
tempSocket = null;客户端
程序代码: FileStream fs = new FileStream(System.Environment.CurrentDirectory.ToString() + "\\11.rar", FileMode.Create, FileAccess.Write);
byte[] bytes = new byte[4000];
int len = 0;
do
{
len = s.Receive(bytes);
fs.Write(bytes, 0, len);
} while (s.Available > 0);
fs.Close();
fs.Dispose();我不太懂怎么把大文件进行分段读取。
Seek()方法也不太会用。
上面是我改了好几遍后的代码。还是不对
谁能帮我改改啊,讲讲啊,我都憋了半天了。
先谢了!








