【发布时间】:2020-03-03 15:27:32
【问题描述】:
我正在尝试创建具有“自动保存”功能的文本编辑器。这意味着每当用户对当前文本进行任何更改(例如添加或删除字母、单词、行等)时,该更改也应立即应用于文本文件。
我使用 Javafx 中的“TextArea”控件来检测文本中的任何更改。此外,每当检测到更改时,我都会使用 BufferedWriter 从头开始将新文本写入文件。 然而,这对我来说似乎不正确,因为 BufferedWriter 将不得不从头开始重写所有文本。如果文本太大,这将导致性能问题。
有没有人对如何实现这个有更好的想法?提前致谢。
【问题讨论】:
-
顺便说一句,您的文件写入器不需要缓冲区。缓冲写/读是为了低效在读中写。因此,例如,如果您是逐行或随着时间的推移而不是一次全部写入文件。
标签: java performance text-files bufferedwriter autosave