gpt4 book ai didi

java - 如何删除 FileOutputStream 创建的文件

转载 作者:行者123 更新时间:2023-12-01 09:57:56 26 4
gpt4 key购买 nike

我需要在退出方法之前删除文件:

String holdInFdfFile = "myPDF1";
this.holdModifiedPDFDir = "C:\\pdfs\\Jobs\\";
String tempString = this.holdModifiedPDFDir + "\\" + holdInFdfFile;

//Create Flattened PDF
PdfReader PDFreaderFlattened = new PdfReader(this.holdOriginalPDFDir + holdInPdfFile);
FileOutputStream foutFlattened = new FileOutputStream(this.holdModifiedPDFDir + holdInFdfFile + "_FLAT.pdf");
PdfStamper stampFlattened = new PdfStamper(PDFreaderFlattened, foutFlattened);
FdfReader holdFDFreaderFlattened = new FdfReader(tempString);
stampFlattened.setFreeTextFlattening(true);
stampFlattened.setFullCompression();
stampFlattened.setFormFlattening(true);
stampFlattened.setFullCompression();
AcroFields formFlattened = stampFlattened.getAcroFields();
formFlattened.setFields(holdFDFreaderFlattened);

stampFlattened.close();
foutFlattened.close();

我需要删除 foutFlattened 文件。

我还注意到,即使我close()它,它也不允许我删除文件,除非我终止进程。

我正在使用java1.80_92

最佳答案

Java 6 中似乎时不时会出现一个问题。我在 Java 7 中没有看到过这个问题,但是如果您将其关闭并且文件中似乎仍然挂有某些内容,您可能会遇到这样的问题:必须调用 gc 才能让 jvm 完全释放该文件,以便您可以删除它。可怕的做法,但这是我过去遇到这种情况时唯一有效的方法。

关于java - 如何删除 FileOutputStream 创建的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37035760/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com