2013-03-12 28 views
1

我需要編寫一個運行編號 - 在現有文件的開頭。到目前爲止,我所能做的只是寫入每個文件的末尾。請幫忙嗎?如何寫入到F#中的文件開頭#

+4

向我們展示你嘗試過的代碼。 – ildjarn 2013-03-12 18:19:43

+1

也許只是創建一個新文件,將它寫入它,然後複製現有文件的內容並刪除舊文件並保存新文件。 – Alexan 2013-03-12 18:25:57

回答

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")) 
+0

這樣做可能有更好的方法 – mydogisbox 2013-03-12 19:18:19

+0

有。 File.ReadAllText/WriteAllText。 – Daniel 2013-03-12 19:37:59

+0

@Daniel很好的電話。新解決方案發布 – mydogisbox 2013-03-12 19:45:33