我想每次在线读取文件“hello.txt”,然后将此行写入“bye.text”并显示在屏幕上。 我怎样才能做到这一点? 我在“文件”中看到的唯一功能是:
答案 0 :(得分:10)
正如杰克所说,如果您想使用逐行功能处理文件(或任何其他流),则需要使用StreamWriter
和StreamReader
类型。只需使用这样的构造函数:
open System.IO
let addLine (line:string) =
use wr = StreamWriter("D:\\temp\\test.txt", true)
wr.WriteLine(line)
这里,我们使用了StreamWriter
构造函数的重载,该构造函数接受路径(作为字符串)和布尔值,指定我们要追加到现有文件。另请注意,我正在使用use
关键字来确保在addLine
完成时文件已关闭。
要将内容作为一系列行读取,您可以类似地使用StreamReader
- 使用构造函数创建该类型的实例,然后使用ReadLine
方法,直到获得null
为止
答案 1 :(得分:3)
System.IO.File
类中的方法仅支持读/写整个文件。如果您想要更细化的方法(例如,逐行读/写),您需要使用StreamReader
和StreamWriter
之类的内容。