gpt4 book ai didi

Delphi 用流打开文件

转载 作者:行者123 更新时间:2023-12-03 18:18:02 27 4
gpt4 key购买 nike

我前几天问过this人们告诉我使用 TFileStream 的问题。我正在阅读 Głowacki 的 Expert Delphi,他使用 TStreamReader/TStreamWriter。在评论中我读到了这个:

TStreamReader is a helper class for reading textual data. Your file is not text, it is binary. Use TFileStream directly instead

我在这方面有点麻烦。我知道 binary文件不包含文本,使用 TFileStream 我可以读取二进制文件(如文档所述)。假设我想使用 TStreamWriter 在文件上输出一串数字,然后读取这个文件的内容。我可以使用 TFileStream 来实现吗?

我看到 TStreamWriter 在构造函数中有 TEncoding,所以我需要指定 utf-8 或 ansi 等。这会影响文件的结构吗?

我是新手,我不太了解我在网上找到的专家主题。据我了解,TFileStream 用于二进制文件,而 TStreamReader 用于内部包含一些文本的文件

最佳答案

不是想混淆你,但事实上所有文件都是二进制的。

它们包含许多字节,人类或软件如何解释这些字节使它们很有用。

但是如果术语textbinary 是相反的,那么text 意味着(或多或少)任何人类可读的东西,像这样回答,而 binary 表示任何非文本的内容。

一个例子:在当前的Delphi 版本中,一个整数 由四个字节组成。如果您将这些字节直接存储到一个文件中,那么您就是在编写二进制文件。如果您将文本形式(例如 -172423423)写成字符,那么您就是在编写文本。

TextWriter 将文本写入流。 TBinaryWriter 写入存储在内存中的数据。两者都可以使用任何类型的流,无论是 TFileStream 还是 TMemoryStream 都可以写入(或读取)。流表示文件或其他一些可写介质。

如今,文本可以有多种编码,例如UTF-8、几个 Ansi 代码页等。这意味着不在 #0..#127 范围内的“字符”编码不同。当然,这可以更改文件的确切内容。

关于Delphi 用流打开文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45613765/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com