delphi 如何获取文件的大小和类型

delphi 如何获取文件的大小和类型,第1张

示例代码如下:

首先,uses 添加 IdGlobalProtocols。

 2

function TForm1GetFileSizeStr(fName:string):string;

var nSize: Integer;

begin

  nSize := FileSizeByName(fName);

  if nSize > 1073741824 then

    Result := FormatFloat('###,##000G', nSize / 1073741824)

  else if nSize > 1048576 then

    Result := FormatFloat('###,##000M', nSize / 1048576)

  else if nSize > 1024 then

    Result := FormatFloat('###,##00K', nSize / 1024)

  else

    Result := FormatFloat('###,#0B', nSize);

  if Length(Result) > 2 then

    if Result[1] = '0' then

      Delete(Result, 1, 1);

end;

procedure TForm1Button1Click(Sender: TObject);

begin

  ShowMessage('文件大小是: ' + GetFileSizeStr('d:\tablemdb'));

end;

示例截图:

有一种叫jspsmartupload的包用来简化文件上传下载的编写

里面可以获取文件大小

//取得文件

comjspsmartuploadFile myFile = mySmartUploadgetFiles()getFile(0);

//取得文件名

String fileName = myFilegetFileName();

//取得文件大小

int fileSize = myFilegetSize();

这是基于spring架构的上传文件支持多个文件上传,拿到file对象后,直接filesize()就可以获取文件的大小,

if (request instanceof Multipart>

1先用fseek将文件指针移到文件末尾,再用ftell获取文件内指针当前的文件位置。这个位置就是文件大小。

2#include <stdioh>

int main()

{

    FILE pf = fopen("F:/1png", "rb");

    if (!pf)

        return -1;

    fseek(pf, 0, SEEK_END); // 移到文件末尾

    printf("size = %d\n", ftell(pf));

    fclose(pf);

    return 0;

}

3运行结果如下

1。GetLength()

不行,貌似它获取的是缓冲区内的数据大小,最大8192字节。

2。Seek()

不行,经他人验证不行,我也就懒得试了。

3。QueryOption()

获取的居然是乱码。

ULONG file_total_size=0;

TCHAR szContentLength[64]={0};

ULONG dwInfoSize = 64;

file->QueryOption(>

以上就是关于delphi 如何获取文件的大小和类型全部的内容,包括:delphi 如何获取文件的大小和类型、java web 如何获得文件上传大小、如何用C语言获取文件的大小等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址:https://54852.com/web/10048073.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存