def file(filename)
      if File.exists?(@path)
        File.read(path_to(filename))
      else
        Zip::ZipFile.foreach(@package) do |entry|
          return entry.get_input_stream {|io| io.read } if entry.name == filename
        end
      end
    end
def file(filename)
      if File.exists?(@path)
        File.read(path_to(filename))
      else
        Zip::ZipFile.foreach(@package) do |entry|
          return entry.get_input_stream {|io| io.read } if entry.name == filename
        end
      end
    end
Reads a file from the package. If the file is not extracted yet (all files
 are extracted by default when opening the package) it will be extracted
 to the file system and its content returned. If the +dry_run+ option was
 set to +true+ when opening the package the file will <em>not</em> be
 extracted to the file system, but read directly into memory.