我一直认为文本文件(.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"
答案 0 :(得分:2)
文本文件和文件通常在逻辑上是连续的字节序列,或者称为数组。操作系统提供抽象和工具,因此您可以根据需要将此阵列的部分内容加载到内存中。
但是,您的应用程序可以使用读取数组随机部分的操作系统抽象来自由加载解释数据,但它认为合适。如果您希望一次处理一个文本文件,将一行(由换行符分隔)成一个单独的字符串是一个很好的方法。
答案 1 :(得分:0)
与大多数其他文件一样,文本文件是大容量存储设备上的字节序列。它们与编程语言的数据类型无关。
因此,程序可以选择最适合其计算的内部数据类型。
答案 2 :(得分:0)
文本文件实际上不是数组或字符串;虽然它们可以在程序或脚本访问时以这种方式表示。文本文件只是一个字节集合。这与二进制文件没有什么不同 - 唯一真正的区别在于程序如何使用这些文件。
关于换行符,不同的操作系统(特别是DOS / Windows与UNIX)有不同的表示换行符的方法。因此,如果使用十六进制编辑器(即Hexed模式下的Ultraedit)检查文本文件的内容,您将在每行末尾看到\n
或\r\n
。