When to use stream based API?

Aug 10 at 7:17 PM
I'm new to the DotNetZip. I have list of hundreds of files to zip. The folder of these files are different. One way I can do is to call class ZipFile's method AddFile hundreds times. Another way is to open each file to FileStream, then call AddEntry(filename, StreamToRead). I'm wondering which way is more efficient in time?

My second question is when to use ZlibStream Class, what's it advantage?

Thanks!