如何在F#中写入文件的开头

时间:2013-03-12 18:18:05

标签: file f#

我需要在现有文件的开头写一个正在运行的编号。到目前为止我所能做的就是写到每个文件的末尾。有什么帮助吗?

1 个答案:

答案 0 :(得分:3)

怎么样(警告!未经测试的代码):

open System.IO
File.ReadAllText("c:\\old.txt")
    |> fun s -> let r = new StreamReader(s)
                let data = r.ReadToEnd
                r.Close()
                s.Close()
                data

let writeStringToFile d =
    (File.OpenWrite("c:\\new.txt"), d)
    |> fun ((s : FileStream), (d : string)) -> let r = new StreamWriter(s)
                                               r.WriteLine("new data")
                                               r.Write(d)
                                               r.Close()
                                               s.Close()

getStringFromFile()
|> writeStringToFile

编辑:

更好的解决方案:

File.WriteAllText("c:\\new.txt", "new Text" + File.ReadAllText("c:\\old.txt"))