我正在升级到ColdFusion2018.我用于转换和旋转PDF的iText例程,pdfReader在文件上放置了锁,页面完成后这些锁不会释放.
我尝试将close()方法添加到代码中. (版本11中的pdfReader不需要它.)
<cfscript>
reader = createObject("java","com.lowagie.text.pdf.PdfReader").init( "test.pdf" );
reader.close();
inStream = createObject("java","java.io.FileReader").init("test2.pdf");
inStream.close();
</cfscript>
我希望能够在运行提供的脚本时重命名或删除这两个文件,但只能使用inStream文件(test2.pdf).阅读器文件(test.pdf)已被系统锁定.
最佳答案
使用以上建议,我认为以下解决方案将起作用.
原文链接:/java/532950.html<cfscript>
fkeys = createObject("java","java.io.FileInputStream");
lKeyStoreFileStream = createObject("java","java.io.BufferedInputStream").init(fkeys.init("test.pdf"));
reader = createObject("java","com.lowagie.text.pdf.PdfReader").init( lKeyStoreFileStream );
lKeyStoreFileStream.close();
fkeys.close();
reader.close();
</cfscript>