<div dir="ltr">You are right with that it does emulate missing folders in the source file.<div><br></div><div>I have a use case where I patch a zip file with some additional entries that are placed in directories of files that already exist in the zip file. To do so, I have to add the directories for the added files. Doing so confuses the processing backend which does not filter the folder entries but treats them as normal files which causes this processor to crash when treating them as regular files.</div><div><br></div><div>I understand that the file system abstraction mandates folders but for zip files, I would find it practical if it was possible to write files without demanding folders for them. The current work around is to write a whole new file with ZipInputStream/ZipOutputStream and to copy all existing entries what adds quite a bit of I/O overhead. Therefore, I would welcome the mentioned feature.</div><div><br></div><div>Thanks for the explanation, </div><div>best regards, Rafael</div></div><br><div class="gmail_quote"><div dir="ltr">Am Mi., 10. Okt. 2018 um 13:50 Uhr schrieb Alan Bateman <<a href="mailto:Alan.Bateman@oracle.com">Alan.Bateman@oracle.com</a>>:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On 10/10/2018 12:31, Rafael Winterhalter wrote:<br>
> Hi,<br>
><br>
> I was wondering why the ZipFileSystem checked for the existence of a <br>
> file's parents before writing a file. Writing folder entries is not a <br>
> requirement in the specification for zip files and I find it strange <br>
> that the implementation enforces it. I found that even to be <br>
> problematic when altering a zip file where NIO2 requires you to add <br>
> folder entries that did not exist before.<br>
><br>
If you using a zip file system to create a new zip file then it <br>
shouldn't be a surprise that you need to create a directory before <br>
creating entries in the directory. The zip file system is just trying to <br>
behave like a regular file system. The zip file system provider does <br>
lack a configuration option to strip directories when writing, that <br>
could potentially be added if important.<br>
<br>
One other thing is that the zip file system provider can open existing <br>
zip files that don't have entries for directories, it's should emulate <br>
them for that scenario.<br>
<br>
-Alan.<br>
<br>
<br>
</blockquote></div>