Archive/zip add empty directory

I tried add empty directory and it doesn’t work for me.
Here is a simple example empty dir in zip · GitHub

Archive arrives empty.
Please help me!

Hello and welcome. You can use simple Create function instead of trying to form header on your own:

func main() {
	f, _ := os.Create("test.zip")
	defer f.Close()

	w := zip.NewWriter(f)
	defer w.Close()

	w.Create("empty-folder/")
}

When you extract test.zip, there will be only empty-folder inside. If you want to use CreateHeader, use func FileInfoHeader(fi fs.FileInfo) (*FileHeader, error) instead of making it on your own from scratch:

func main() {
	fi, _ := os.Stat("empty-folder")
	header, _ := zip.FileInfoHeader(fi)
	header.Method = zip.Store

	f, _ := os.Create("test.zip")
	defer f.Close()

	w := zip.NewWriter(f)
	defer w.Close()

	w.CreateHeader(header)
}
1 Like

I realized what my problem is - my Archive manager (util in ubuntu 22.04) don’t show empty directory in zip. But if i unzip archive i can see empty directory.
Many thanks!