文件管理函数(一)

本文介绍了一系列文件及文件夹操作的方法,包括文件与文件夹的创建、删除、重命名、路径设置等,提供了实用的代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. //判断文件是否存在 FileExists
  2. var
  3.   f: string;
  4. begin
  5.   f := 'c:/temp/test.txt';
  6.   if not FileExists(f) then
  7.   begin
  8.     //如果文件不存在
  9.   end;
  10. end;
  11. --------------------------------------------------------------------------------
  12. //判断文件夹是否存在 DirectoryExists
  13. var
  14.   dir: string;
  15. begin
  16.   dir := 'c:/temp';
  17.   if not DirectoryExists(dir) then
  18.   begin
  19.     //如果文件夹不存在
  20.   end;
  21. end;
  22. --------------------------------------------------------------------------------
  23. //删除文件 DeleteFile; Windows.DeleteFile
  24. var
  25.   f: string;
  26. begin
  27.   f := 'c:/temp/test.txt';
  28.   //DeleteFile(f);  //返回 Boolean
  29.   //或者用系统API:
  30.   Windows.DeleteFile(PChar(f));  //返回 Boolean
  31. end;
  32. --------------------------------------------------------------------------------
  33. //删除文件夹 RemoveDir; RemoveDirectory
  34. var
  35.   dir: string;
  36. begin
  37.   dir := 'c:/temp';
  38.   RemoveDir(dir);  //返回 Boolean
  39.   //或者用系统 API:
  40.   RemoveDirectory(PChar(dir));  //返回 Boolean
  41. end;
  42. --------------------------------------------------------------------------------
  43. //获取当前文件夹 GetCurrentDir
  44. var
  45.   dir: string;
  46. begin
  47.   dir := GetCurrentDir;
  48.   ShowMessage(dir); //C:/Documents and Settings/wy/My Documents/RAD Studio/Projects
  49. end;
  50. --------------------------------------------------------------------------------
  51. //设置当前文件夹 SetCurrentDir; ChDir; SetCurrentDirectory
  52. var
  53.   dir: string;
  54. begin
  55.   dir := 'c:/temp';
  56.   if SetCurrentDir(dir) then
  57.     ShowMessage(GetCurrentDir);  //c:/temp
  58.   //或者
  59.   ChDir(dir);  //无返回值
  60.   //也可以使用API:
  61.   SetCurrentDirectory(PChar(Dir));  //返回 Boolean
  62. end;
  63. --------------------------------------------------------------------------------
  64. //获取指定驱动器的当前路径名 GetDir
  65. var
  66.   dir: string;
  67.   b: Byte;
  68. begin
  69.   b := 0;
  70.   GetDir(b,dir);
  71.   ShowMessage(dir);  //
  72.   //第一个参数: 1、2、3、4...分别对应: A、B、C、D...
  73.   //0 是缺省驱动器
  74. end;
  75. --------------------------------------------------------------------------------
  76. //文件改名 RenameFile
  77. var
  78.   OldName,NewName: string;
  79. begin
  80.   OldName := 'c:/temp/Old.txt';
  81.   NewName := 'c:/temp/New.txt';
  82.   if RenameFile(OldName,NewName) then
  83.     ShowMessage('改名成功!');
  84.   //也可以:
  85.   SetCurrentDir('c:/temp');
  86.   OldName := 'Old.txt';
  87.   NewName := 'New.txt';
  88.   if RenameFile(OldName,NewName) then
  89.     ShowMessage('改名成功!');
  90. end;
  91. --------------------------------------------------------------------------------
  92. //建立文件夹 CreateDir; CreateDirectory; ForceDirectories
  93. var
  94.   dir: string;
  95. begin
  96.   dir := 'c:/temp/delphi';
  97.   if not DirectoryExists(dir) then
  98.     CreateDir(dir);  //返回 Boolean
  99.   //也可以直接用API:
  100.   CreateDirectory(PChar(dir),nil);  //返回 Boolean
  101.   //如果缺少上层目录将自动补齐:
  102.   dir := 'c:/temp/CodeGear/Delphi/2007/万一';
  103.   ForceDirectories(dir);  //返回 Boolean
  104. end;
  105. --------------------------------------------------------------------------------
  106. //删除空文件夹 RemoveDir; RemoveDirectory
  107. var
  108.   dir: string;
  109. begin
  110.   dir := 'c:/temp/delphi';
  111.   RemoveDir(dir);  //返回 Boolean
  112.   //也可以直接用API:
  113.   RemoveDirectory(PChar(dir));  //返回 Boolean
  114. end;
  115. --------------------------------------------------------------------------------
  116. //建立新文件 FileCreate
  117. var
  118.   FileName: string;
  119.   i: Integer;
  120. begin
  121.   FileName := 'c:/temp/test.dat';
  122.   i := FileCreate(FileName);
  123.   if i>0 then
  124.     ShowMessage('新文件的句柄是: ' + IntToStr(i))
  125.   else
  126.     ShowMessage('创建失败!');
  127. end;
  128. --------------------------------------------------------------------------------
  129. //获取当前文件的版本号 GetFileVersion
  130. var
  131.   s: string;
  132.   i: Integer;
  133. begin
  134.   s := 'C:/WINDOWS/notepad.exe';
  135.   i := GetFileVersion(s);  //如果没有版本号返回 -1
  136.   ShowMessage(IntToStr(i));  //327681 这是当前记事本的版本号(还应该再转换一下)
  137. end;
  138. --------------------------------------------------------------------------------
  139. //获取磁盘空间 DiskSize; DiskFree
  140. var
  141.   r: Real;
  142.   s: string;
  143. begin
  144.   r := DiskSize(3);  //获取C:总空间, 单位是字节
  145.   r := r/1024/1024/1024;
  146.   Str(r:0:2,s);  //格式为保留两位小数的字符串
  147.   s := 'C盘总空间是: ' + s + ' GB';
  148.   ShowMessage(s);  //xx.xx GB
  149.   r := DiskFree(3);  //获取C:可用空间
  150.   r := r/1024/1024/1024;
  151.   Str(r:0:2,s);
  152.   s := 'C盘可用空间是: ' + s + ' GB';
  153.   ShowMessage(s);  //xx.xx GB
  154. end;
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值