I googled different ways how to unzip a file etc, but the information i find is so different and I really don't know how to make this work. On my computer the program seems to work, I end up getting a zip file which contains a.txt , b.txt and a new/ folder with result.mp3 . I am so frustrated, because I can't really find a way how to do this properly, just a bunch of different ways which I don't understand. The little info provided by CG doesn't help at all. The out-commented lines are different approaches which didn't work as well. Another point which I don't understand - in the Conditions it states " don't use the file system" . But when I used another way of adding the file to the archive (e.g. putting another ZipEntry to the List), the validator said: "To write a file to the archive stream, use the Files.copy(Path, OutputStream) method." Can someone help me or give me a proper source of information for this topic? Thanks in advance.