感谢关注:现在我刚刚弄明白点东西,希望与大家分享!
QFile Sendfile(fileName);
Sendfile.open(QIODevice::ReadOnly);
这是打开文件的一个例子;用QFile::open可以打开,对文件的操作看QFile 这个类,希望对初学者有点用!!
不过还有一个疑问?
fileName是个文件的本机路径名??如果是这样的话,我将该路径名发送到远端,write函数能够正确命名接受文件吗??
void Sender::ReceiveFile() //接收文件
{
int filesize = 0;
int readsize = 0;
QDataStream in(clientConnection);
in >> filesize;
in >> fileName;
QFile file(fileName);
if (!file.open(QFile::WriteOnly | QFile::Append))
{
QMessageBox::warning(this,"error","can not open the \
file!");
return;
}
\
while (1)
{
if( clientConnection->isReadable())
{
if(readsize + 2048
{
buf = new char[2048];
clientConnection->read(buf, 2048);
file.write(buf, 2048);
readsize += 2048;
delete []buf;
if(readsize == filesize) break;
}
else
{
int blocksize = filesize - readsize; \
buf = new char[blocksize];
clientConnection->read(buf, blocksize);
file.write(buf, blocksize);
readsize += blocksize;
delete []buf;
if(readsize == filesize) break;
}
else
{
int blocksize = filesize - readsize; \
buf = new char[blocksize];
clientConnection->read(buf, blocksize);
file.write(buf, blocksize);
readsize += blocksize;
delete []buf;
if(readsize == filesize) break;
}
}
}