我正在构建一个简单的文本编辑器,我不知道如何实现保存。
我应该只重写文件还是搜索以前保存的文件和即将保存的内容之间的差异?
第一个解决方案显然很容易实现,但效率如何? 如果文本文件很大,哪个更有效?
我认为这取决于变化,可能第一种方法更好,但我想听听一些意见。 大多数应用程序如Notepad ++,Word等使用什么?
答案 0 :(得分:1)
通常编辑者无论如何都要覆盖文件的大部分内容。例如,在文件的最开头插入一个字符。如果您只是在编辑器中进行编辑,那么您可以跟踪并仅保存更改的部分。
UltraEdit能够编辑真正的大文件,并使用更智能的保存方式。但大多数编辑器只会覆盖整个文件,因为它们通常仅用于编辑小文件(<1GB)
提示:所以我会开始编写整个文件(功能)并关注性能(非功能性),除非它是一个要求。总而言之,这是对什么&#34;大&#34;的定义。意味着并非所有文件都可以在保存时进行优化,除非您更改保存数据的格式。