DELPHI文件、磁盘操作函数
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DELPHI文件、磁盘操作函数相关的知识,希望对你有一定的参考价值。
参考技术A软件大多都要对文件 磁盘进行操作 熟悉掌握这些函数可以帮助你轻松实现创建 删除 保存文件等功能
Append功能说明 追加内容到文件中 文件必须要存在
参考实例
var
S String
F TextFile
begin
S = This is a book
AssignFile(F C \\MyFile txt ) // 将C \\MyFile txt文件与F变量建立连接 后面可以使用F变量对文件进行操作
Append(F) // 以追加的方式打开文件
Writeln(F S) // 将S变量中的内容追加到文本尾后
CloseFile(F) // 关闭文件
end
AssignFile功能说明 与指定的文件建立连接
参考实例
var
F TextFile // 声明文本文件类型变量
begin
AssignFile(F C \\MyFile txt ) // 将C \\MyFile txt文件与F变量建立连接 后面可以使用F变量对文件进行操作
end
ChDir功能说明 改变当前目录(文件夹)
参考实例
var
sDir String
begin
sDir = C \\Windows
ChDir(sDir) // 此时 系统的当前目录则为C \\Windows目录
end
CloseFile功能说明 关闭文件 当对文件的操作完成后 应该使用CloseFile函数关闭打开的文件
参考实例
var
S String
AllText String
F TextFile
begin
AssignFile(F C \\MyFile txt ) // 将C \\MyFile txt文件与F变量建立连接 后面可以使用F变量对文件进行操作
Reset(F) // 打开文件
while not EOF(F) do begin // 使用While循环 一直判断是否到了文件未尾
Readln(F S) // 读取一行文本
AllText = AllText + S
end
CloseFile(F) // 关闭文件
end
DeleteFile功能说明 删除指定的文件 该函数只有一个参数 此参数为欲删除文件的完整路径 如果删除成功 则返回True 若删除失败 或文件不存在则返回False
参考实例
var
IsOK Boolean // 用于保存删除状态
begin
IsOK = DeleteFile( C \\My Documents\\l ) // 函数执著后 将结果返回给IsOK变量 如果IsOK变量为True 则表示文件删除成功
if IsOK then ShowMessage( 文件删除成功! )
else ShowMessage( 文件删除失败! )
end
DirectoryExists功能说明 检测指定的文件夹否存在 如果存在则返回True 反之则为False
参考实例
var
IsExists Boolean
begin
IsExists = DirectoryExists ( C \\Windows )
if IsExists then ShowMessage( Windows文件夹存在! )
else ShowMessage( Windows文件夹不存在! )
end
DiskFree功能说明 获取指定磁盘的剩余空间 该函数只有一个参数 该参数用于指定要获取剩余空间的磁盘号 当参数为 时 表示获取当前磁盘的剩余空间 为A盘 为B盘 以此类推 如果返回值为
表示指定的磁盘无效
参考实例
var
FreeSize Int
begin
FreeSize = DiskFree( ) // 获取C盘中的剩余空间 返回的值是以 字节 为单位的
end
DiskSize功能说明 获取指定磁盘的空间 该函数只有一个参数 该参数用于指定要获取磁盘空间的磁盘号 当参数为 时 表示获取当前磁盘的空间 为A盘 为B盘 以此类推 如果返回值为 表示指
定的磁盘无效
参考实例
var
DiskSize Int
begin
DiskSize = DiskSize( ) // 获取C盘的空间 返回的值是以 字节 为单位的
end
EOF功能说明 判断文件指针是否移动到了文件未尾 当EOF函数返回值为True时 则不可以使用Readln函数进行读取文件了
参考实例
var
S String
AllText String
F TextFile
begin
AssignFile(F C \\MyFile txt ) // 将C \\MyFile txt文件与F变量建立连接 后面可以使用F变量对文件进行操作
Reset(F) // 打开文件
while not EOF(F) do begin // 使用While循环 一直判断是否到了文件未尾
Readln(F S) // 读取一行文本
AllText = AllText + S
end
end
Erase功能说明 删除文件
参考实例
var
F File
begin
AssignFile(F C \\MyFile txt ) // 将C \\MyFile txt文件与F变量建立连接 后面可以使用F变量对文件进行操作
Reset(F) // 打开文件
CloseFile(F) // 关闭文件
Erase(F) // 删除文件 在删除文件之前必须先关闭文件
end
FileExists功能说明 检测指定的文件否存在 如果存在则返回True 反之则为False
参考实例
var
IsExists Boolean
begin
IsExists = FileExists( C \\Test txt )
if IsExists then ShowMessage( 该文件存在! )
else ShowMessage( 该文件不存在! )
end
FileSize功能说明 获取文件大小 返回的结果是字节为单位
参考实例
var
F file of Byte
nSize Longint
begin
AssignFile(F C \\MyFile txt ) // 将C \\MyFile txt文件与F变量建立连接 后面可以使用F变量对文件进行操作
Reset(F) // 打开文件
nSize = FileSize(F) // 获取文件大小
CloseFile(F) // 关闭文件
end
ForceDirectories功能说明 创建新的子目录 路径中不存在的目录将一同创建
参考实例
ForceDirectories( C \\Flash\\MyFolder ) // 如果Flash文件夹本身不存的话 那么将会先创建Flash文件夹 然后再创建MyFolder文件夹
MkDir功能说明 创建一个新的子目录(文件夹)
参考实例
MkDir( C \\MyFolder ) // 在C盘根目录中创建了一个名叫MyFolder的文件夹
需要注意的是 如果在本身不存在的目录中创建子目录将会失败 比如C盘根本不存在Flash文件夹 写成MkDir( C \\Flash\\MyFolder ) 这样将不能成功创建MyFolder文件夹
Reset功能说明 以只读方式打开文件
参考实例
var
F TextFile // 声明文本文件类型变量
begin
AssignFile(F C \\MyFile txt ) // 将C \\MyFile txt文件与F变量建立连接 后面可以使用F变量对文件进行操作
Reset(F) // 打开文件
end
Rewrite功能说明 以可写方式打开文件 如果文件不存在 将会自动创建 使用该函数 将会覆盖文件中的所有内容
参考实例
var
F TextFile // 声明文本文件类型变量
begin
AssignFile(F C \\MyFile txt ) // 将C \\MyFile txt文件与F变量建立连接 后面可以使用F变量对文件进行操作
Rewrite(F) // 打开文件 如果文件不存在 将会在C盘中创建MyFile txt文件 如果文件存在 将会覆盖MyFile txt中的所有内容
end
Readln功能说明 读取一行文本
参考实例
var
S String
F TextFile
begin
AssignFile(F C \\MyFile txt ) // 将C \\MyFile txt文件与F变量建立连接 后面可以使用F变量对文件进行操作
Reset(F) // 打开文件
Readln(F S) // 读取一行文本到S变量中
end
Rename功能说明 更改文件名
参考实例
var
F File
begin
AssignFile(F C \\MyFile txt ) // 将C \\MyFile txt文件与F变量建立连接 后面可以使用F变量对文件进行操作
ReName(F C \\NewFile txt ) // 更名为NewFile txt
end
Writeln功能说明 写入一行文本
参考实例
var
S String
F TextFile
begin
S = This is a book
AssignFile(F C \\MyFile txt ) // 将C \\MyFile txt文件与F变量建立连接 后面可以使用F变量对文件进行操作
Rewrite(F) // 创建新文件
Writeln(F S) // 将S变量中的内容写入文本中
lishixinzhi/Article/program/Delphi/201311/8445
C 语言文件操作 ( C 语言中的文件操作函数 | 磁盘与内存缓冲区 | 缓冲区工作机制 )
一、C 语言中的文件操作函数
读取 文本文件 可以使用 getc , fgets , fscanf 函数 , 向 文本文件 写出数据可以使用 putc , fputs , fprintf 函数 ;
读取 二进制文件 可以使用 fread 函数 , 向 二进制文件 写出数据可以使用 fwrite 函数 ;
二、磁盘与内存缓冲区
上述所有读写文件的函数 , 都是缓冲区函数 , 即 C 语言中的文件操作 , 都是缓冲区函数 ;
磁盘 是由 操作系统 进行读写的 , 用户写的程序 , 不能直接操作磁盘 ;
操作系统 提供 读写文件的 系统调用 接口 , 在该接口上 是 C 语言的库函数 , 最上层就是 用户程序 ;
如果要操作硬件磁盘 , 就需要知道磁盘的驱动程序 , 磁盘扇区操作等 , 这就比较复杂了 ;
C 语言库函数 中 , 维护了一个缓冲区 , 这个缓冲区是 内存 中的缓冲区 ;
使用 C 语言文件操作函数 读写的 数据 , 不是直接来自磁盘 , 而是来自 内存中缓冲区 ;
三、缓冲区工作机制
缓冲区工作机制 :
如果 缓冲区大小 64KB , 假如使用 C 语言库函数 fread 读取一个字节数据 , 实际上会从磁盘文件中读取 64KB 数据 , 放入内存缓冲区中 ;
这是因为 读写内存的效率 远远高于 读写磁盘的效率 ;
这样的好处是 , 读取第 2 个字节时 , 可以直接从内存中读取 , 不需要再次读写磁盘 ;
该机制可以 增加用户程序的执行效率 , 减少磁盘访问次数 ;
磁盘有读写寿命 , 读写次数到了 , 磁盘就会报废 ;
缓冲区内容写入磁盘的时机 :
- 缓冲区满了
- 调用 fclose 关闭文件函数
以上是关于DELPHI文件、磁盘操作函数的主要内容,如果未能解决你的问题,请参考以下文章
C 语言文件操作 ( C 语言中的文件操作函数 | 磁盘与内存缓冲区 | 缓冲区工作机制 )