1
以下是一個代碼示例,它將文件名列表並將它們壓縮到單個壓縮文件中。我遇到的問題是,我希望filname所描述的文件位於zip壓縮包的頂層(即當打開壓縮包時,「clientName .... xml」是您首先看到的,而不是文件夾「XML」)。FSharp中的zip壓縮文件的控制文件結構
let filename = sprintf "C:\\XML\\ClientName_%s.xml" (System.DateTime.Now.ToString("ddMMyyyy"))
use fs = new FileStream(filename, FileMode.Create)
let xmlSerializer = XmlSerializer(typeof<log>)
xmlSerializer.Serialize(fs,logObj)
fs.Close()
use zipfile = new ZipFile()
let basePath = path.Replace("/", "\\")
for fileObj in files do
let relativeFilePath = basePath + (fileObj.Filename).Replace("/", "\\")
printfn "%s" relativeFilePath
zipfile.AddFile(relativeFilePath) |> ignore
()
zipfile.AddFile(filename) |> ignore
let zipFileName = sprintf "C:\\XML\\Compliance_%s.zip" (System.DateTime.Now.ToString("ddMMyyyy"))
zipfile.Save(zipFileName)
完美,謝謝! – Ramy 2011-02-03 02:02:18