0

我正在使用 JFileChooser,它工作正常。

File a = new File(strSavepath);
JFileChooser fc = new JFileChooser(a);

问题是我无法使用记事本或其他编辑器手动编辑保存的文件,除非我使用 VisualVM 手动运行垃圾收集器。

我是否遗漏了什么或其他人也观察到了这种行为?

4

2 回答 2

0

正如@TomG 指出的那样,关闭流意味着流(即,如果您不再使用该文件,则您的应用程序)不再具有该文件的句柄,但这并不意味着 VisualVM 也释放该句柄(尽管它应该,我认为)。要检查是否出于某种错误或类似原因,VisualVM 在您的应用程序发布后是否保留文件的句柄,请在 VisualVM 之外运行您的应用程序,然后尝试手动保存文件。如果还不可能,您将打开流。否则,您可以使用Windows 句柄或类似工具来确定文件中实际保留句柄的是 VisualVM 还是其他应用程序。

于 2013-03-12T16:58:54.310 回答
0

“当你消除了不可能的事情后,剩下的无论多么不可能,都必须是真相”(SH)

你必须有一个无限循环。调试、记录可能有助于说服自己。或者以其他方式混淆了另一个文件路径。

(还要说清楚:a是目录,而不是文件本身。)

于 2013-03-12T16:50:45.027 回答