nsOutputStream& operator << (nsOutputStream& s, const nsPersistentFileDescriptor& d)
nsOutputStream& operator << (nsOutputStream& s, const nsFileURL& url)
nsOutputStream& operator << (nsOutputStream& s, const nsPersistentFileDescriptor& d)// writes the data to a file//----------------------------------------------------------------------------------------{    char littleBuf[9];    PRInt32 dataSize;    nsSimpleCharString data;    d.GetData(data, dataSize);    // First write (in hex) the length of the data to follow.  Exactly 8 bytes    sprintf(littleBuf, "%.8x", dataSize);    s << littleBuf;    // Now write the data itself    s << (const char*)data;    return s;}