0

我一直认为文本文件 (.txt) 始终只是长字符串,并且通过包含(不可见的)\n 来创建不同的行。

但是,虽然没有明确说明,但我已经看到对文本文件的引用是字符串数组。

文本文件实际上是字符串数组的集合,每行都是一个单独的字符串吗?

所以,而不是文本文件是:

String = "I went to the supermarket\nI bought a loaf of bread\nI ate the bread later that day"

文本文件真的是:

String[1] = "I went to the supermarket"
String[2] = "I bought a loaf of bread"
String[3] = "I ate the bread later that day"

?

4

3 回答 3

2

文本文件和一般文件在逻辑上是连续的字节序列,或者称为数组。操作系统提供了抽象和工具,因此您可以按需将该数组的一部分加载到内存中。

但是,您的应用程序可以使用读取数组随机部分的操作系统抽象来自由加载它认为合适的解释数据。如果您希望一次处理一行文本文件,则将一行(由换行符分隔)变成一个单独的字符串是一种好方法。

于 2013-08-28T15:06:46.233 回答
0

与任何其他文件一样,文本文件是大容量存储设备上的字节序列。它们与编程语言的数据类型无关。

因此,程序可以选择最适合其计算的任何内部数据类型。

于 2013-08-28T15:09:18.643 回答
0

文本文件并不是真正的数组或字符串;尽管它们可以在被程序或脚本访问时以这种方式表示。文本文件只是字节的集合。这与二进制文件没有什么不同——唯一真正的区别是程序如何使用这些文件。

关于换行符,不同的操作系统(特别是 DOS/Windows 与 UNIX)有不同的表示换行符的方法。因此,如果您使用十六进制编辑器(即,十六进制模式下的 Ultraedit)检查文本文件的内容,您将在每一行的末尾看到 a\n或 a 。\r\n

于 2013-08-28T15:13:42.973 回答