博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
关于 Delphi 中流的使用(2) 用 TFileStream(文件流) 读写
阅读量:6889 次
发布时间:2019-06-27

本文共 1396 字,大约阅读时间需要 4 分钟。

  hot3.png

TStream 是一个抽象的基类, 不能直接生成对象. 在具体的应用中, 主要使用它的子孙类:
TFileStream: 文件流
TStringStream: 字符串流
TMemoryStream: 内存流
TResourceStream: 资源文件流
THandleStream: 是 TFileStream 的父类、TStream 的子类
TCustomMemoryStream: 是 TMemoryStream 和 TResourceStream 的父类、TStream 的子类
与流相关的常用类还有: TReader、TWriter、TCompressionStream、TDecompressionStream
来一个文件流的例子:

procedure TForm1.Button1Click(Sender: TObject);var  getStream,setStream: TFileStream; {声明一个文件流}  getPath,setPath: string;begin  getPath := 'c:\temp\get.jpg'; {需要这个文件存在}  setPath := 'c:\temp\set.jpg'; {这个会自动建立}  if not FileExists(getPath) then  begin    ShowMessage('找不到我们要测试的图片文件: ' + getPath);    Exit;  end;  getStream := TFileStream.Create(getPath, fmOpenRead or fmShareExclusive);  setStream := TFileStream.Create(setPath, fmCreate);  {建立文件流需要两个参数: 参数 1 是路径, 参数 2 是打开模式}  getStream.Position := 0; {流指针移到开始, 复制时从这里开始}  setStream.CopyFrom(getStream, getStream.Size); {Copy 流}  {CopyFrom 的参数 2 是要复制的内容大小; 如果为 0 , 不管指针在什么位置都会复制所有内容}  {CopyFrom 返回实际拷贝的字节数}  {这时硬盘上就有 set.jpg 文件, 与 get.jpg 一么一样}  {其实就是复制文件, 不过这里我们是用文件流实现的}  getStream.Free;  setStream.Free;end;
TFileStream 打开模式与共享模式:
分类 参数 说明
fmCreate  建立文件, 如果存在则打开它。
fmOpenRead 只读打开
fmOpenWrite 只写打开
fmOpenReadWrite 读写打开
fmShareCompat 共享模式, 兼容 Dos
fmShareExclusive  不允许别人以任何方式打开
fmShareDenyWrite  允许别人以只写方式打开
fmShareDenyRead 允许别人以只读方式打开
fmShareDenyNone 允许别人以任何方式打开

转载于:https://my.oschina.net/hermer/blog/320242

你可能感兴趣的文章
Understanding Spark Caching
查看>>
抓取服务器硬件信息脚本
查看>>
四种禁止下载软件的方法
查看>>
Domino 8.5.1 安装过程
查看>>
重构数据库设计
查看>>
【CentOS 7笔记32】,通配符、输入输出重定向#171116
查看>>
【CentOS 7笔记43】iptables nat表和iptables规则备份和恢复,#171130
查看>>
jQuery基础修炼圣典—DOM篇
查看>>
hyper-v关于avhd的问题
查看>>
2013年工作中遇到的20个问题:281-300
查看>>
shell脚本实现两个文件的逐行对比
查看>>
我的友情链接
查看>>
烂泥:haproxy与nginx、zabbix集成
查看>>
iptables kits
查看>>
MyEclipse 2014 系列 , MyEclipse 2013 系列 , MyEclipse 10 系列
查看>>
java使用log4j打出exception的栈信息
查看>>
SQL Server 自动生成订单号
查看>>
Linux网络配置要点
查看>>
内存的堆分配和栈分配 & 字符数组,字符指针,Sizeof总结
查看>>
科学家发现抗生素替代品:新型抗菌抗内毒素双效肽
查看>>