对于read这个过程 读取的内容多少是怎么实现的?
这里我还有点疑惑
while not Eof(F1) do
begin
Read(F1, Ch);
Write(F2, Ch);
end;
这个循环是怎么进行下一步的?读写的时候是一个字节一个字节的读写的?默认从第一个字节开始读,然后循环一次就读下一个字节吗?
这里我还有点疑惑
while not Eof(F1) do
begin
Read(F1, Ch);
Write(F2, Ch);
end;
这个循环是怎么进行下一步的?读写的时候是一个字节一个字节的读写的?默认从第一个字节开始读,然后循环一次就读下一个字节吗?
解决方案 »
- 请问怎么在delphi中新建一个单元,用来定义并实现自己定义的函数?
- dataset.lookup 返回值问题
- SPComm如何获取缓冲区的数据,请高人帮忙修改下
- fastreport中应该怎么动态改变自定义纸长和动态改变memo的大小,代码?
- 请问:DELPHI与ACCESS97数据库连接成功,但运行时出现无法输入数据的错误提示:
- 三方控件路径问题!
- 紧急求教:
- 求助,大家都是倒弄DELPHI的,能否发个好的简历参考一下
- 串口监视程序的问题/
- 求个倒计时的delhpi代码,谢谢
- 求高手回答一个ADO的问题。简单的..
- MDI窗体做成DLL窗体时,关闭总出错!网上介绍的方法都试过了!求各位帮忙!
对于F1, 其有一个当前位置信息, 打开时为0, 每执行一次 Read(f1, ch); 其值加1
Eof(F1) 判断当前位置是否等于文件大小, 如果等于, 则返回True, 否则, 返回False楼主这种做法, 对于小文件可以, 但对于大文件, 会相当慢, 其主要原因是Read和Write没有缓冲, 而且读写次数比较多
对于大文件, 可以有两种方法性能都比较高:
一种使用BlockRead和BlockWrite, 如每次读64K
另一种使用TFileStream, 其对读写提供了缓冲机制
对于blockread和blockwrite 这2个过程,每次读取的数据的大小有限制吗?一次 64K可以,那么一次1M可以吗?