如何获取文件的大小?

如何获取文件的大小?,第1张

一、通过 CFile 类的成员函数 GetLength 获取文件大小;二、通过 CFileFind 类的成员函数 GetLength 获取文件大小;下面详细说明这两种方法:销枣一、CFile 类1、通过 Open 成员函数打开文件;2、通过 GetLength 成员函数获取文件大小;3、通过 Close 关闭文件。CFile fCString strf.Open("e:\test1.wav",CFile::modeRead|CFile::shareDenyNone)str.Format("File size : %d",f.GetLength())f.Close()MessageBox(str)二、CFileFind 类1、通过 FindFile 开始查找文件;2、通过 FindNextFile 获取文件信息;3、通过 GetLength 获取文件大小;4、通过 Close 关闭查找。CFileFind finderCString strfinder.FindFile("e:\test1.wav")finder.FindNextFile()str.Format("File size : %d",finder.GetLength())finder.Close()MessageBox(str)以上是 MFC 的乎斗轮方法,下面是 SDK 方法:一、通过 GetFileSize API 函数获取文件大小;HANDLE hFileDWORD dwFileSize = 0char szData[30]hFile = CreateFile("e:\test1.wav",GENERIC_READ,FILE_SHARE_READ,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL)dwFileSize = GetFileSize(hFile,NULL)CloseHandle(hFile)sprintf(szData,"File Size : %d",dwFileSize)MessageBox(NULL,szData,"FileSize",MB_ICONINFORMATION)二、通过 FindFirstFile 和 WIN32_FIND_DATA 方法获取文件大小;LPWIN32_FIND_DATA lpFindFileDataHANDLE hFindFilechar szData[30]lpFindFileData = new WIN32_FIND_DATAhFindFile = FindFirstFile("e:\test1.wav",lpFindFileData)FindNextFile(hFindFile,lpFindFileData)MessageBox(NULL,szData,"FileSize",MB_ICONINFORMATION)delete lpFindFileData说明:以上代码都没有检查函数返回值,读者在实际编写程序时应该检查文件打开是否成功。另外,CFile 类在实现时,是从文件头移动到文件尾岁信,而不是用 GetFileSize API 函数实现的,有兴趣的朋友可以看看MFC源代码。体验新版博客

1、首先打开电脑,找到“计算机慎哗”快捷方式并双击打开,如下图所示。

2、在功能菜单栏找到“组织”选项,单击打开下拉菜单,找到“文件夹和搜索选项”并点击进入。

3、在d出的小窗口坦旦中单击“查看”菜单。

4、下拉找到“在文件夹提示中让孝扰显示文件大小信息”,并在前面的方框中勾选,点击确定。

5、这时将鼠标放在要查看的文件夹上,即可快速知道文件夹的大小。

大稿启橡概有这些方法可以获得文件大小

FileSizeByName(需要引用IdGlobal单元)

GetFileSize

FileSize(不键旁旁缓能获得正在使用的文件大小)

FileSeek

TFileStream.Size

下面是使用例子

1。FileSizeByName(需要引用IdGlobal单元)

begin

if

OpenDialog1.Execute

then

begin

ShowMessage(IntToStr(FileSizeByName(OpenDialog1.Filename)))

end

2。GetFileSize

var

FileHandle:integer

begin

if

OpenDialog1.Execute

then

begin

FileHandle

:=

FileOpen(OpenDialog1.FileName,

0)

ShowMessage(IntToStr(GetFileSize(FileHandle,

nil)))

FileClose(FileHandle)

end

3。FileSize(不能获得正在使用的文件大小)

var

f:

file

begin

if

OpenDialog1.Execute

then

begin

AssignFile(f,

OpenDialog1.FileName)

Reset(f,

1)

ShowMessage(IntToStr(FileSize(f)))

CloseFile(f)

end

4。FileSeek

var

FileHandle:integer

begin

if

OpenDialog1.Execute

then

begin

FileHandle

:=

FileOpen(OpenDialog1.FileName,

0)

ShowMessage(IntToStr(FileSeek(FileHandle,0,2)))

FileClose(FileHandle)

end

5。TFileStream.Size

var

FS:

TFileStream

begin

if

OpenDialog1.Execute

then

begin

FS

:=

TFileStream.Create(OpenDialog1.FileName,

fmShareDenyNone)

ShowMessage(IntToStr(FS.Size))

FS.Free

end

另在IdGlobalProtocols中有个FileSizeByName()的函数。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12165791.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存