POI read file without updating file timestamp
<p>It appears that one can open an Excel file using</p>

<pre><code>Workbook wb = WorkbookFactory.create(myFile);
</code></pre>

<p>...but then, even if no changes are made, a call to</p>

<pre><code>wb.close();
</code></pre>

<p>...to release resources will result in the file on the file system being updated (at least the timestamp will be, if nothing else). The only way I have found around this is to specify that the Workbook should be created "read only" with</p>

<pre><code>Workbook wb = WorkbookFactory.create(myFile, true);
</code></pre>

<p>What I'm trying to do is the following: </p>

<ul>
<li>I want to open an existing Workbook from a File;</li>
<li>Immediately release any filesystem resources, but retain the Workbook in memory; (this should not update the timestamp of the original file);</li>
<li>Make changes to the in-memory Workbook;</li>
<li>Save the modified Workbook to a new file.</li>
</ul>

<p>Is this possible? I've tried many things, but can't seem to get it to work. If I don't want the original file timestamp updated, it seems I have to open the Workbook as read only. But then I can't modify it in memory for a subsequent write to a new file. Catch-22. </p>

<p>[BTW, I'm creating the Workbook from a File rather than a stream, as I understand it is more efficient. If I used a stream I could possibly get around this issue by closing the stream myself. Also, I'm working with XLSX/XLSM not XLS files.]</p>

<p>Thoughts? Thanks!</p>