我想获取目录中文件的大小,但我不知道该怎么做。 这是我的代码:
let givenDirectory="c:/Windows"
let listOfFilesInDirectory (givenDirectory:string)=
let listOfFiles=Directory.GetFiles givenDirectory |> List.ofSeq
let listOfNames = listOfFiles |> List.map Path.GetFileName
listOfNames
listOfFilesInDirectory givenDirectory
首先我传递一个路径到函数,我得到该目录中每个文件的完整路径,但我想知道如何获得这些文件的大小?
答案 0 :(得分:2)
您可以使用FileInfo
类:
let listOfFilesInDirectory (givenDirectory:string)=
let listOfFiles=Directory.GetFiles givenDirectory |> List.ofSeq
listOfFiles |> List.map (fun fn ->
Path.GetFileName(fn), FileInfo(fn).Length)
给定文件名fn
,您可以创建FileInfo(fn)
,然后使用Length
属性获取文件长度。以上内容返回一个包含文件名及其大小的列表。
答案 1 :(得分:1)
RTFM?
您正在使用System.IO命名空间。你没有查看文档然后找到类FileInfo(String)的原因是......? https://msdn.microsoft.com/en-us/library/system.io.fileinfo(v=vs.110).aspx
open System.IO
let fileInfo = FileInfo(@"c:\my\file\somewhere.txt") // you may use "c:\\my\\file etc for escape instead of using @ ahead of strings...
let fileLen = fileInfo.Length
这最好不要成为一些家庭作业\任务的一部分! ; - )