Delphi中如何将字符串保存到文本文件中?
创建字符串并将其保存到 .txt
文件中的最简单方法是什么?
What is the easiest way to create and save string into .txt
files?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
创建字符串并将其保存到 .txt
文件中的最简单方法是什么?
What is the easiest way to create and save string into .txt
files?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(6)
使用
TStringList
。另外,
SaveToFile
和LoadFromFile
可以在 Delphi 2009 及更高版本中采用额外的编码来设置文本编码(Ansi、UTF-8、UTF-16、UTF-16 big endian) 。Use
TStringList
.Also
SaveToFile
andLoadFromFile
can take an additional Encoding in Delphi 2009 and newer to set the text encoding (Ansi, UTF-8, UTF-16, UTF-16 big endian).实际上,我更喜欢这个:
我认为这是最简单的方法,因为您不需要此代码的类或任何其他单元。它适用于所有 Delphi 版本,包括 - 如果我没记错的话 - 所有 .NET 版本的 Delphi...
我在这个示例中添加了对 SetTextBuf() 的调用,这是加速 Delphi 中文本文件速度的好技巧相当。通常,文本文件的缓冲区只有 128 字节。我倾向于将此缓冲区增加到 4096 字节的倍数。在某些情况下,我还实现了自己的 TextFile 类型,允许我使用这些“控制台”函数将文本写入备注字段,甚至写入另一个外部应用程序! 这个位置是我在 2000 年编写的一些示例代码 (ZIP),只是进行了修改以确保它可以编译使用 Delphi 2007。不过不确定较新的 Delphi 版本。话又说回来,这段代码已经有 10 年历史了。
这些控制台函数自 Pascal 语言诞生以来就一直是它的标准,所以我不认为它们会很快消失。不过,TtextRec 类型将来可能会被修改,所以我无法预测这段代码将来是否会工作...一些解释:
链接中的代码特此许可为 CC-BY
哦,带有 ZIP 文件的服务器不是很强大,所以每天都会宕机几次。对此感到抱歉。
Actually, I prefer this:
I consider this the easiest way, since you don't need the classes or any other unit for this code. And it works for all Delphi versions including -if I'm not mistaken- all .NET versions of Delphi...
I've added a call to SetTextBuf() to this example, which is a good trick to speed up textfiles in Delphi considerably. Normally, textfiles have a buffer of only 128 bytes. I tend to increase this buffer to a multiple of 4096 bytes. In several cases, I'va also implemented my own TextFile types, allowing me to use these "console" functions to write text to memo fields or even to another, external application! At this location is some example code (ZIP) I wrote in 2000 and just modified to make sure it compiles with Delphi 2007. Not sure about newer Delphi versions, though. Then again, this code is 10 years old already.
These console functions have been a standard of the Pascal language since it's beginning so I don't expect them to disappear anytime soon. The TtextRec type might be modified in the future, though, so I can't predict if this code will work in the future... Some explanations:
Code in link is hereby licensed as CC-BY
Oh, the server with the ZIP file isn't very powerful, so it tends to be down a few times every day. Sorry about that.
Delphi 2010中引入的IOUtils单元提供了一些非常方便的用于写入/读取文本文件的函数:
The IOUtils unit which was introduced in Delphi 2010 provides some very convenient functions for writing/reading text files:
或者,如果您使用旧版本的 Delphi(它没有迭代字符串列表的
for line inlines
方法):Or if you are using an older version of Delphi (which does not have the
for line in lines
method of iterating a string list):如果您使用的 Delphi 版本 >= 2009,请查看
TStreamWriter
类。它还将处理文本文件编码和换行符。
If you're using a Delphi version >= 2009, give a look to the
TStreamWriter
class.It will also take care of text file encodings and newline characters.
使用 unicode 字符串时需要小心......
Care needed when using unicode strings....