gpt4 book ai didi

Java自动保存文本文件的有效方法

转载 作者:行者123 更新时间:2023-12-02 01:02:11 24 4
gpt4 key购买 nike

我正在尝试创建一个具有“自动保存”功能的文本编辑器。这意味着每当用户对当前文本进行任何更改(例如添加或删除字母、单词、行等)时,该更改也应立即应用于文本文件。

我使用 Javafx 中的“TextArea”控件来检测文本中的任何更改。另外,每当检测到更改时,我都会使用 BufferedWriter 将新文本从头开始写入文件。然而,这对我来说似乎不正确,因为 BufferedWriter 必须从头开始重写所有文本。如果文本太大,这将导致性能问题。

有人对如何实现这个有更好的想法吗?提前致谢。

最佳答案

技巧是使用计时器,仅在文档被修改时才写入更新。

给出的示例适用于 Swing 组件,但可以适用于其他框架

boolean dirtyFlag = false; // set true if the document is altered
DocumentListener dl = new DocumentListener() { ... // implement all methods and set dirtyFlag = true in each
TimerTask task = new TimerTask() {
public void run() {
//save the file
}
}
Timer t = new Timer();
t.scheduleAtFixeRate(task, ..., ...);

关于Java自动保存文本文件的有效方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60510523/

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