Вот таким вот образом я записываю в файл на линуксе.
  
QFile fd("/tmp/gps_271010.log");
  if(!fd.open(QIODevice::Append))
  {
  qDebug()<<"ERROR FILES";
  }
QTextStream out(&fd);
  tmp=getString(i,buffer,buffer.size());
   qDebug() <<"SIZE: "<< buffer.size()<<"\nRed data from client\n" << "\nEND data\n";
  out<< QDateTime::currentDateTime().toString()<<":: "<<buffer.size()<<"::"<<buffer<<"::\n";
//  fd.writeData(buffer.data(),buffer.size());
  fd.close();
Вот тут экспериментировал со считыванием
QFile fd(fileName);
    if(!fd.open(QIODevice::ReadOnly))
    {
          msgBox.setText("Error open file");
          msgBox.exec();
     }
    qint64 len = fd.bytesAvailable();
    char *ss = new char [len];
    uint l= len;
    QDataStream stream( &fd );
    stream.readBytes(ss, l);
    QByteArray wBData(ss);
    delete [] ss;
    wBData=fd.readAll();
    //stream.readBytes();
    QByteArray line,date,size,code;
    const QByteArray code_tmp;