请教记事本和写字板的区别

thestronger 2011-03-23 12:56:56
打开一个3M大小的TXT格式小说,用记事本需要几秒10来秒钟,而写字板几乎是瞬间;
打开后,把主角的名字全部替换成别的,用记事本会造成系统假死,CPU差不多100%,而且N分钟后都没有完成。而写字板里面同样的操作却是秒秒钟就搞定了。

请问各位大虾,这两个软件在技术上有什么区别,为什么会有这么大差异?
从打开文件上来说,如果用异步处理或者多线程,瞬间打开是可能的,但是全部替换这个操作就搞不懂为什么那么快了。
...全文
985 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
haohanzhilv001 2011-03-26
  • 打赏
  • 举报
回复
个人感觉支持字符编码的功能程度大小
空心兜兜 2011-03-24
  • 打赏
  • 举报
回复
写字板可以算是Word的雏形
Microogle 2011-03-24
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 thestronger 的回复:]

引用 5 楼 liuhhaiffeng 的回复:

楼上说的都有道理, 以前看过WordPad的源代码(VS Sample Code), 好像是使用了OLE复合文档技术, 功力有限, 我看得不是很明白.
至于, WordPad打开包含大量数据文件速度快, 我怀疑是使用了"内存映射文件"技术. 概念如下:
"内存映射文件,是由一个文件到一块内存的映射。Win32提供了允许应用程序把文件映射……
[/Quote]
手机上的阅读软件当然不能一次性读取了,至于查找功能,一样可以借鉴win下面一次查找一页内存的方法,winhex就是非常成功的代表。
thestronger 2011-03-24
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 liuhhaiffeng 的回复:]

楼上说的都有道理, 以前看过WordPad的源代码(VS Sample Code), 好像是使用了OLE复合文档技术, 功力有限, 我看得不是很明白.
至于, WordPad打开包含大量数据文件速度快, 我怀疑是使用了"内存映射文件"技术. 概念如下:
"内存映射文件,是由一个文件到一块内存的映射。Win32提供了允许应用程序把文件映射到一个进程的函数 (CreateFileMapping)……
[/Quote]

我在做一个手机上的阅读软件,所以比较关心这个问题。如果把整个文件同时载入的话,速度慢不说,还占内存。而看到那里就载入哪里的话,速度快,也不占内存,但是无法实现查找功能。能不能删除,我想应该取决于是不是用独占方式打开吧。
清海风缘 2011-03-24
  • 打赏
  • 举报
回复
楼上说的都有道理, 以前看过WordPad的源代码(VS Sample Code), 好像是使用了OLE复合文档技术, 功力有限, 我看得不是很明白.
至于, WordPad打开包含大量数据文件速度快, 我怀疑是使用了"内存映射文件"技术. 概念如下:
"内存映射文件,是由一个文件到一块内存的映射。Win32提供了允许应用程序把文件映射到一个进程的函数 (CreateFileMapping)。内存映射文件与虚拟内存有些类似,通过内存映射文件可以保留一个地址空间的区域,同时将物理存储器提交给此区域,内存文件映射的物理存储器来自一个已经存在于磁盘上的文件,而且在对该文件进行操作之前必须首先对文件进行映射。使用内存映射文件处理存储于磁盘上的文件时,将不必再对文件执行I/O操作,使得内存映射文件在处理大数据量的文件时能起到相当重要的作用。"

WordPad是否使用"内存映射文件"技术, 我想了一个检测方法: 如果使用"内存映射文件"技术, 那么用WordPad打开文件后是无法删除此文件的, 否则就可以删除的, 测试结果, 我分别用Wordpad和NotePad打开了一个10MB的文本文件后再删除此文件, 均可以删除成功. 不知道这么理解是否正确, 请大牛指正啊.
yeature 2011-03-23
  • 打赏
  • 举报
回复
记事本就是处理一般的纯文本 写字板复杂一点 功能也高一点
窗外雨潇潇 2011-03-23
  • 打赏
  • 举报
回复
打个比方,记事本就是处理一般的纯文本,不会保留什么格式,所以ms连个toolbar也没给它设计;写字板可以处理一些相对复杂的文档,保留简单的格式设置和信息,但格式设置保存的信息当然不能和ms word相比了。
夜鹰 2011-03-23
  • 打赏
  • 举报
回复
记事本可以将文档保存为txt以及任意后缀的文件名,写字板只能保存为rtf、txt等格式。

对于记事本来说,就像一个便签,方便的记录内容较小的文件;而写字板提供的编辑功能更强大,适合较大的文件处理;诸如Microsoft Office Word等大型软件来说是更为专业的文字编辑工具。
langhunld 2011-03-23
  • 打赏
  • 举报
回复
应该说notepad设计的初衷只是为了方面的记录一些简单的信息,其特点是方便,快捷,文字处理不是他的强项。所以不能处理很大的数据量,文字处理功能也很弱。
对于写字板我用得很少,但猜想这应该是一个偏向于简单文字处理功能的程序。相信你也知道,写字板是windows自带的一款软件,是免费的,其目的应该是向没有安装office工具的客户提供一个可以做文字处理功能的一个工具。
至于技术细节没必要关注太多,不过notepad确实很简单,很多学过程序设计的人都可以设计出一个notepad,一般代码量就在1000行这个级别,写字板的话估计就要多得多了

6,849

社区成员

发帖
与我相关
我的任务
社区描述
Windows 2016/2012/2008/2003/2000/NT
社区管理员
  • Windows Server社区
  • qishine
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧