delphi文件操作

取文件名
ExtractFileName(FileName);
取文件扩展名:
ExtractFileExt(filename);
取文件名,不带扩展名: 方法一: Function ExtractFileNameNoExt(FileString: String): String;
Var
FileWithExtString: String;
FileExtString: String;
LenExt: Integer;
LenNameWithExt: Integer;
Begin
FileWithExtString := ExtractFileName(FileString);
LenNameWithExt := Length(FileWithExtString); FileExtString := ExtractFileExt(FileString); LenExt := Length(FileExtString);
If LenExt = Then
Begin
Result := FileWithExtString;
End
Else
Begin
Result := Copy(FileWithExtString,,(LenNameWithExt-LenExt));
End;
End;
方法二: ChangeFileExt(ExtractFileName(Application.ExeName),'') ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- //delphi 获取文件所在路径 ExtractFileDrive :返回完整文件名中的驱动器,如"C:"
ExtractFilePath:返回完整文件名中的路径,最后带“/”,如"C:/test/"
ExtractFileDir:返回完整文件名中的路径,最后不带“/” ,如"C:/test"
ExtractFileName:返回完整文件名中的文件名称 (带扩展名),如"mytest.doc"
ExtractFileExt 返回完整文件名中的文件扩展名(带.),如".doc" ExtractRelativePath : 返回相对路径,定义如下:
function ExtractRelativePath(const BaseName, DestName: string): string;
使用测试下如:
SysUtils.ExtractRelativePath('C:/test','C:/Test/TestRelativePath'):返回TestRelativePath
SysUtils.ExtractRelativePath('C:/Test/TestRelativePath','C:/test'):返回'../TestRelativePath'
SysUtils.ExtractRelativePath('C:/Test/TestRelativePath/','C:/test'):返回'../../TestRelativePath'
ExtractShortPathName :返回短文件名,即8+,文件名长八位,扩展名为3号,为保持DOS系统兼容而存在 若想获取的文件名不带路径,可用:
ChangeFileExt(TIdAttachment(Msg.MessageParts.Items[intIndex]).Filename,''); 函数将扩展名改掉即可.目前好象就这一种办法,谁还有更好的办法?请告知 另附其它地方的资料: 、文件名函数
  文件名函数可以对文件的名称、所在子目录、驱动器和扩展名等进行操作。下表列出这些函数及其功能。
函数 说明
ExpandFileName() 返回文件的全路径(含驱动器、路径)
ExtractFileExt() 从文件名中抽取扩展名
ExtractFileName() 从文件名中抽取不含路径的文件名
ExtractFilePath() 从文件名中抽取路径名
ExtractFileDir() 从文件名中抽取目录名
ExtractFileDrive() 从文件名中抽取驱动器名
ChangeFileExt() 改变文件的扩展名
ExpandUNCFileName() 返回含有网络驱动器的文件全路径
ExtractRelativePath() 从文件名中抽取相对路径信息
ExtractShortPathName() 把文件名转化为DOS的8·格式
MatchesMask() 检查文件是否与指定的文件名格式匹配
ExtractFilePath(FileName:String)
该函数返回路径名,其结尾字符总是“/”
ExtractFileDir(FileName:String)
该函数同样返回路径名,但不包括结尾的字符“/”,除非返回的路径是根目录。
  下面就把这些函数作一一介绍:
⑴ExpandFileName()
  原型:extern PACKAGE AnsiString __fastcall ExpandFileName(const AnsiString FileName);
  功能:返回文件的全路径(含驱动器、路径)
  参数:FileName:要处理的文件名
  例:ShowMessage(ExpandFileName(Application->ExeName));//显示你的程序文件名,如C:/MyBCB/Sample1.EXE
⑵ExtractFileExt()
  原型:extern PACKAGE AnsiString __fastcall ExtractFileExt(const AnsiString FileName);
  功能:从文件名中抽取扩展名
  参数:FileName:要处理的文件名(全路径)
  例:ShowMessage(ExtractFileExt(Application->ExeName));//显示".exe"
⑶ExtractFileName()
  原型:extern PACKAGE AnsiString __fastcall ExtractFileName(const AnsiString FileName);
  功能:从文件名中抽取不含路径的文件名
  参数:FileName:要处理的文件名
  例:ShowMessage(ExtractFileExt("c://Winnt//SOL.EXE"));//显示"SOL.EXE"
⑷ExtractFilePath()
  原型:extern PACKAGE AnsiString __fastcall ExtractFilePath(const AnsiString FileName);
  功能:从文件名中抽取路径名
  参数:FileName:要处理的文件名
  例:ShowMessage(ExtractFilePath("Winnt//SOL.EXE"));//显示"Winnt/"
⑸ExtractFileDir()
  原型:extern PACKAGE AnsiString __fastcall ExtractFileDir(const AnsiString FileName);
  功能:从文件名中抽取目录名(和上个函数不同,不包括最后的"/")
  参数:FileName:要处理的文件名
  例:ShowMessage(ExtractFileDir("Winnt//SOL.EXE"));//显示"Winnt",注意和上个函数的区别
⑹ExtractFileDrive()
  原型:extern PACKAGE AnsiString __fastcall ExtractFileDrive(const AnsiString FileName);
  功能:从文件名中抽取驱动器名
  参数:FileName:要处理的文件名
  例:ShowMessage(ExtractFileDrive("c://Winnt//SOL.EXE"));//显示"c:"
⑺ChangeFileExt()
  原型:extern PACKAGE System::AnsiString __fastcall ChangeFileExt(const System::AnsiString FileName, const System::AnsiString Extension);
  功能:更改文件名的扩展名,不是对真正的文件进行改名,只是对文件名这个字符串进行处理
  参数:FileName:要改名的文件名,Extension:新的扩展名
  例:ShowMessage(ChangeFileExt("c://Winnt//SOL.EXE",".OOO"));//显示"c:/winnt/SOL.OOO"
⑻ExpandUNCFileName()
  原型:extern PACKAGE AnsiString __fastcall ExpandUNCFileName(const AnsiString FileName);
  功能:返回含有网络驱动器的文件全路径,格式为://机器名/共享名/文件名
  参数:FileName:要处理的文件名
  例:ShowMessage(ExpandUNCFileName("F://Winnt//SOL.EXE"));/*如果F:是映射的网络驱动器,则显示"
⑼ExtractRelativePath()
  原型:extern PACKAGE AnsiString __fastcall ExtractRelativePath(const AnsiString BaseName, const AnsiString DestName);
  功能:从文件名中抽取相对路径信息,如"../sss/ss.asd"这种形式
  参数:BaseName:基准文件名;DestName:目标文件名
  例:ShowMessage(ExtractRelativePath("D://Source//c//1.123","D://Source//Asm//dz.asm"));/*显示"../asm/dz.asm"*/
⑽ExtractShortPathName()
  原型:extern PACKAGE AnsiString __fastcall ExtractShortPathName(const AnsiString FileName);
  功能:把文件名转换为DOS的8、格式
  参数:FileName:要处理的文件名
  例:ShowMessage(ExtractShortPathName("E://Program Files//Dual Wheel Mouse//4dmain.exe"));/*显示"E:/Progra~1/dualwh~1/4dmain.exe"*/
⑾MatchesMask()
  原型:extern PACKAGE bool __fastcall MatchesMask(const AnsiString Filename, const AnsiString Mask);
  功能:检查文件是否与指定的文件名格式匹配
  参数:FileName:要处理的文件名;Mask:文件名格式,支持通配符
  例:ShowMessage(MatchesMask("Lxf.exe","*.?x?));//显示"true"

来源于网络。

Delphi对于文件的读写操作的更多相关文章

  1. Delphi- ini文件的读写操作

    一.读INI文件示例 procedure TForm1.FormCreate(Sender: TObject); Var MyIni :Tinifile; glAppPath :string; beg ...

  2. INI 文件的读写操作

    在C#中对INI文件进行读写操作,在此要引入using System.Runtime.InteropServices; 命名空间,具体方法如下: #region 变量 private static r ...

  3. Android 对 properties文件的读写操作

    -. 放在res中的properties文件的读取,例如对放在assets目录中的setting.properties的读取:PS:之所以这里只是有读取操作,而没有写的操作,是因为我发现不能对res下 ...

  4. C++学习48 对ASCII文件的读写操作

    如果文件的每一个字节中均以ASCII代码形式存放数据,即一个字节存放一个字符,这个文件就是ASCII文件(或称字符文件).程序可以从ASCII文件中读入若干个字符,也可以向它输出一些字符. 对ASCI ...

  5. android报错及解决2--Sdcard进行文件的读写操作报的异常

    报错描述: 对Sdcard进行文件的读写操作的时候,报java.io.FileNotFoundException: /sdcard/testsd.txt (Permission denied),在往S ...

  6. java文件的读写操作

    java文件的读写操作主要是对输入流和输出流的操作,由于流的分类很多,所以概念很容易模糊,基于此,对于流的读写操作做一个小结. 1.根据数据的流向来分: 输出流:是用来写数据的,是由程序(内存)--- ...

  7. python使用装饰器对文件进行读写操作'及遍历文件目录

    '''使用装饰器对文件进行读写操作''' # def check_permission(func): # '''演示嵌套函数定义及使用''' # def wrapper(*args,**kwargs) ...

  8. C# System.IO和对文件的读写操作

      System.IO命名空间中常用的非抽象类 BinaryReader 从二进制流中读取原始数据 BinaryWriter 从二进制格式中写入原始数据 BufferedStream 字节流的临时存储 ...

  9. python3文件的读写操作

    open函数:对文件进行读写操作前,先打开文件,获取文件的句柄: open(file, mode, encoding, buffering) 参数说明 file_name:一个包含了你要访问的文件路径 ...

随机推荐

  1. [E2E_L9]Linux命令行上传文件到百度网盘

    百度有2TB 存储空间,在有第三方服务器的情况下,很多东西不需要下载到本地,可以直接使用服务转存,这非常好. 系统环境: Linux 系统 + Python 2.7 安装软件工具:[可能会要重复装] ...

  2. 源码包的三个参数make-configure-make install解释

    1.configure 这一步一般用来生成 Makefile,为下一步的编译做准备,你可以通过在 configure 后加上参数来对安装进行控制,比如代码: ./configure --prefix= ...

  3. 027_MacOs上如何将多页word打印到一个页面上

    工作中需要把word的多页面内容打印到同一张A4纸,所以就想了办法,首先word导出到pdf. 然后使用MacOs默认的PDF阅读器进行多页打印. 操作如下: 文件-打印布局选择每张纸需要打印的页数左 ...

  4. React中跨域问题的完美解决方案

    针对react版本^16.6.0有多种解决方案 方案一:package.json中加上proxy代理配置 在packge.json加入 "proxy": "http:// ...

  5. js 经常用于条件判断 大于等于0 的正整数

    /^\d+(?=\.{,}\d+$|$)/.test() // true 转:https://www.jianshu.com/p/feef5e62dd67

  6. 系统运维工程师装逼完全指南(转载Mark)

    1.全球化的认证有助于提升逼格,什么OCM.CCIE.RHCA.CISSP等等能考都考,再不济,也要有一张系统架构设计师或者网络规划设计师的信产部认证.每过一个认证,逼格提升一档. 2.TCP/IP协 ...

  7. Python (Windows) - ImportError: No module named win32service

    ImportError: No module named win32service you have to install pypiwin32

  8. 根据GSVA结果绘制不同组的趋势图

    首先需要将GSVA的矩阵结果转换成如下格式: 然后使用如下代码进行作图 infile <- "draw_pre_violin_heatmap.txt" data <- ...

  9. JavaScript原生封装ajax请求和Jquery中的ajax请求

    前言:ajax的神奇之处在于JavaScript 可在不重载页面的情况与 Web 服务器交换数据,即在不需要刷新页面的情况下,就可以产生局部刷新的效果.Ajax 在浏览器与 Web 服务器之间使用异步 ...

  10. mybatisGenerator

    mybatisGenerator,可以自定义生成的xml,dao接口文件名称,可以自动在生成的实体类上添加数据库字段的注释 项目结构: 在generatorConfig.xml配置好数据库和对应的表, ...