保存/写入/存储和读取/加载之间的语义差异?
Posted
技术标签:
【中文标题】保存/写入/存储和读取/加载之间的语义差异?【英文标题】:Semantic differences between save/write/store and read/load? 【发布时间】:2012-08-18 19:08:05 【问题描述】:我永远不知道在文件中写入/存储/保存某些内容的函数的正确名称是什么。我应该什么时候使用save()
vs store()
vs write()
,它们之间的含义有什么区别?
我猜store
用于写入数据库,write
用于文本文件,save
用于二进制数据,对吗? XML 文件呢?
【问题讨论】:
【参考方案1】:好吧,这取决于你。对于大多数此类代码,我个人使用saveXXX()
和loadXXX()
,如何从技术上保存数据(文件、数据库等)并不重要。从应用程序的角度来看,它没有区别。保存的代码只需要将数据放入存储中,或多或少是持久的,它并不真正关心存储层是如何完成的。我只是建议坚持一个命名,基本上是为了简单和一致。
【讨论】:
【参考方案2】:我使用load
/ save
表示隐式知道或推断在何处获取或放置数据的方法,而read
和write
方法需要明确告知。我想这最终完全是武断的,但社区就何时使用哪个词达成共识会很高兴。
【讨论】:
【参考方案3】:我想说save
和store
或多或少可以互换。不过我更喜欢save
。
write
我解释为写出内容,不做任何其他事情,而save
也关闭文件。
【讨论】:
好点。Save
通常由open
(或connect
)、write
、close
(或disconnect
)组成,而write
可以说是原子的。
但在文字处理器或图像编辑程序等桌面应用程序中,保存通常不会关闭文件。
@kirdie 它取决于应用程序(即 gimp 不会锁定文件,而 PS 会)。
@KonradHöffner,是的。我的意思是在文件句柄意义上关闭。就像,OutputStream.write
写入数据,但保持流打开。以上是关于保存/写入/存储和读取/加载之间的语义差异?的主要内容,如果未能解决你的问题,请参考以下文章
SDRAM 方向性 - 在“官方”带宽数据中读取和写入计数是不是相同?
如何在 Flutter 中从 firebase 存储读取和写入文本文件?