如何获取文件的大小

时间:2015-10-23 20:54:19

标签: f#

我想获取目录中文件的大小,但我不知道该怎么做。 这是我的代码:

 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

首先我传递一个路径到函数,我得到该目录中每个文件的完整路径,但我想知道如何获得这些文件的大小?

2 个答案:

答案 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

这最好不要成为一些家庭作业\任务的一部分! ; - )

相关问题