java-ColdFusion 2018中的iText pdfReader不发布文件

我正在升级到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)已被系统锁定.

最佳答案
使用以上建议,我认为以下解决方案将起作用.

<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> 

相关文章

Java中的String是不可变对象 在面向对象及函数编程语言中,不...
String, StringBuffer 和 StringBuilder 可变性 String不可变...
序列化:把对象转换为字节序列的过程称为对象的序列化. 反序...
先说结论,是对象!可以继续往下看 数组是不是对象 什么是对...
为什么浮点数 float 或 double 运算的时候会有精度丢失的风险...
面试题引入 这里引申出一个经典问题,看下面代码 Integer a ...