Java“保存”与“另存为”策略

Posted

技术标签:

【中文标题】Java“保存”与“另存为”策略【英文标题】:Java "Save" vs "Save As" Strategies 【发布时间】:2015-05-06 20:34:57 【问题描述】:

我正在构建一个基本的绘画应用程序并实现了打开和保存功能,但是,我想添加“另存为”。本质上,Save As 将始终使用 JFileChooser,但如果文件已存在且当前正在编辑,则 Save 会自动写入文件。

话虽如此,我可以调用哪些策略来简化此流程?显然,根据我已经编写的保存功能的实现,另存为已经完成(如果该措辞令人困惑,我深表歉意)。但是,为了使“保存”功能按我的意愿发挥作用,我相信我需要一种方法来跟踪文件是否存在以及当前是否正在编辑。

那么,什么是跟踪文件是否存在以及当前是否已加载的好方法——如果存在,Save 函数将在没有 JFileChooser 的情况下写入,但如果不存在,它将启动 Save作为功​​能。

对于它的价值,突出显示的保存功能应该在调用打开对话框时应用,所以我可以以某种方式跟踪这一点。我也在打开缓冲图像并将它们作为 TexturePaint 放置在我的形状对象上。因此,当发生上述情况时,我希望“保存”对话框作为“正常”保存功能工作,这是另一个需要考虑的功能。

但是,我真的很想了解一些更好的策略来在更通用的意义上实现这一目标。到目前为止,我空手而归。

【问题讨论】:

htmlDocumentEditor是一个完整的例子,引用here。 【参考方案1】:

您可以向存储文件名的对象添加一个字段,该字段仅在您打开文件或使用另存为时设置。然后,如果文件名为空,点击保存实际上调用了另存为的代码。

【讨论】:

以上是关于Java“保存”与“另存为”策略的主要内容,如果未能解决你的问题,请参考以下文章

如何使用与负载名称相同的名称自动保存结构变量,例如“另存为..”

excel 保存时弹出窗口为另存为,怎么办?

word另存为pdf图片模糊

如何保存不另存为

java New 了一个 doc文件对象 ,我想把他另存为docx文件 然后保存到本地,怎么弄,求高手帮助

保存前不适用于另存为