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 |
允许别人以任何方式打开 |
分享到:
相关推荐
delphi读写取流记录文件TFileStream img格式图片追加存储
delphi读取文件流delphi读取文件流 tfilestream利用字节数组复制文件
Delphi直接读写文本文件的方法,不通过Memo控件,直接将字符串写入文件,或者从文件中读出来。很使用
Delphi 使用tfilestream方式复制文件,你可参考本源码,学习一下OpenDialog、Tfilestream.Create、showmessage、CopyFile的用法,本实例复制文件,是通过读取文件流,保存文件流的方式复制,并不是使用命令复制文件...
Delphi中,使用TFileStream读取文件的,自己写的一个Demo,主要是Read方法的使用。
TMemoryStream(内存流) 入门 TFileStream(文件流) 读写 TMemoryStream(内存流)读取文件 遍历读取流中的所有数据
//读取文件函数 function ReadFile1(FileName:String):boolean; var sFileName: string; f: TfileStream; ED_Data: array[0..2048] of char; lRet: integer; lOffset: Longint; lOrigin: Word; i,count:...
使用TFileStream 使用TStream保存字符串 使用TTreeview显示目录 使窗体的关闭按钮失效 修改文本文件 允许在资源管理器中拖放文件 减小EXE文件大小 列举驱动器 列出目录下的子目录 创建快捷方式 创建目录 删除文件到...
delphi二进制文件阅读器
简单的文件读写操作,分别用文件通道和文件流的方式,对文件进行读写转存,希望对读者有用,实现很简单.
用TFileStream打开文件,操作系统在打开文件后会为文件生成内存镜像,文件一大,那么开辟空间以及内存拷贝的工作就会变得极为缓慢。 2。将TFileStream中的一部分再复制给TMemoryStream,这个复制过程会开辟新的内存...
有关Delphi中TStream流技术的总结 包括TMemoryStream、TFileStream流等等
知识点:1、Delphi自带的压缩解压单元system.zlib...4、为何要分块断点续传,并使用TFileStream文件流替代内存流TMemoryStream;5、Buffer.size对Base64分块断点续传的影响;6、优化上传下载的速度与并发性能的综合考虑
前段时间烈火下载给大家提供了一款Flash文件转EXE的Delphi源代码,我们知道SWF转EXE是很常见的,那么反相转换(EXE转Flash)你有没有见过呢?今天就带给大家这样的源程序。SWF就Flash的一种生成格式,依靠自已公司的...
用TFileStream打开文件,操作系统在打开文件后会为文件生成内存镜像,文件一大,那么开辟空间以及内存拷贝的工作就会变得极为缓慢。 2。将TFileStream中的一部分再复制给TMemoryStream,这个复制过程会开辟新的内存...
Delphi Logger { 超简单实用的DELPHI日志单元 1.0.0 优化版 引用本单元即可使用 一共四个方法 procedure log4error(msg: AnsiString); //写ERROR级别的日志 procedure log4info(msg: AnsiString); //写INFO...
号称比 DELPHI 自带的 zlib 更快 ...Hello,you can found an optimized version of Zlib 1.2.1 that you can embed into every Delphi executable without use external dlls.Further I have build a little example...
此程序演示了使用TFileStream读取文件;以及相关Delphi组件的使用。 This program demonstrates the use of use TFileStream read the file; and related components for Delphi.
FS, RS: TFileStream; FileHeader, ResHeader: TResHeader; Padding: array[0..SizeOf(DWORD)-1] of Byte; begin FS := TFileStream.Create( // to read data file DataFile, fmOpenRead); RS := TFileStream....
马八位位组流 用于HORSE中的应用程序/八位字节流的中间件 要使用安装在您的项目中: $ boss install github.com/HashLoad/horse-octet-stream 具有八位字节流中间件的示例Horse Server uses Horse, Horse....