code: function File(zip, filename, modified) {
    this.zip = zip;
    this.filename = filename;
    this.modified = modified || new Date();
    // True while file is writeable (end/destroy change this)
    this.writable = true;
    // We use this to hold any buffer if this is not the active file
    this._buffers = [];
    // Make sure we only write header once.
    this._wroteHeader = false;
    // True if file fully written out; distinct from fully read (writable = false)
    this._done = false;
    // Offset of file within the stream
    this._offset = 0;
    this._crc = 0 ^ -1;
    this._compressedLength = this._uncompressedLength = 0;
  
    // Write to _deflate, count data size before passing to output.
    var file = this;
    this._deflate = Zlib.createDeflateRaw();
    this._deflate.on("data", function(buffer) {
      file._compressedLength += buffer.length;
      zip._writeBuffer(buffer);
    });
    this._deflate.on("end", function(buffer) {
      file._doneWritingFile();
    });
  }
docs: Creates a new Zip file.  zip      - Zip object filename - Filename modified - Modified date (optional)