func (r *Reader) Files() []*zip.File {
	return r.File
}
Files returns the full list of files in the zip archive.
package zip
import (
	"archive/zip"
	"io"
	"os"
)
type Reader struct {
	zip.Reader
	unread []*zip.File
	rc     io.ReadCloser
}
func NewReader(r io.ReaderAt, size int64) (*Reader, error) {
	zr, err := zip.NewReader(r, size)
	if err != nil {
		return nil, err
	}
	return &Reader{Reader: *zr}, nil
}
func (r *Reader) NextFile() (name string, err error) {
	if r.unread == nil {
		r.unread = r.Files()[:]
	}
	if r.rc != nil {
		r.rc.Close()  
	}
	if len(r.unread) == 0 {
		return "", io.EOF
	}
	f := r.unread[0]
	name, r.unread = f.Name, r.unread[1:]
	r.rc, err = f.Open()
	if err != nil {
		return "", err
	}
	return name, nil
}
func (r *Reader) Read(p []byte) (n int, err error) {
	return r.rc.Read(p)
}