+1 vote
by (130 points)

I have done this with Xceed where I can load the create a Xceed.FileSystem.Diskfolder with a disk path, and this then yields abstractfile items when iterated.
abstractfile items which are zip, rar, 7z etc files, can be converted to Xceed.Zip.Archives (by passing the abstract file from the diskfolder, or a Xceed.FileSystem.Diskfile object to the class constructor) and this can be iterated to produce abstract files with the same methods and props as those yielded by Xceed.FileSystem.Diskfolder.

Using this approach I can search and read and display my log files with the same code for files on disk and older files stored in compressed archives.
Files in archives can be searched without the need to first expand compressed files to temporary folders....

Applies to: Rebex ZIP

1 Answer

+1 vote
by (145k points)

At the moment, you would have to implement an abstraction layer above Rebex ZIP, Rebex FTP/SFTP and System.IO yourself to achieve this.

However, we are currently adding a virtual file system API to Rebex File Server, and it looks like it might be suitable for this scenario as well - thanks for the tip!