1、我写了一个文件传输的小程序,程序中要求对每一步操作和错误信息都写到LOG文件中。因此在程序中需要频繁的写文件。我的做法是每写一次文件就执行:打开文件、写文件、关闭文件。 如下:
try
Append(F);
writeln(F,'log message');
finally
CloseFile(F);
但是这样的做法当写文件的时间间隔很小时将可能使系统变慢,很耗资源。另外的做法就是在程序的一开始打开文件,直到程序终止才关闭文件。但是我怕这样做如果程序中途出错非法终止,那就无法释放文件资源。
请问到底有什么好的方法吗?不知道各位平时碰到类似情况都是用的什么解决方法?2、我的程序需要定时到服务器上取文件,但是如果文件很大,传输时间就会比较长,甚至在下一次OnTimer事件触发时还没有结束。我想问,此时会发生什么情况?有什么冲突吗?该如何解决?以上两个问题困扰了我半天,也不知道该如何解决。希望大家多多帮忙!速速!
try
Append(F);
writeln(F,'log message');
finally
CloseFile(F);
但是这样的做法当写文件的时间间隔很小时将可能使系统变慢,很耗资源。另外的做法就是在程序的一开始打开文件,直到程序终止才关闭文件。但是我怕这样做如果程序中途出错非法终止,那就无法释放文件资源。
请问到底有什么好的方法吗?不知道各位平时碰到类似情况都是用的什么解决方法?2、我的程序需要定时到服务器上取文件,但是如果文件很大,传输时间就会比较长,甚至在下一次OnTimer事件触发时还没有结束。我想问,此时会发生什么情况?有什么冲突吗?该如何解决?以上两个问题困扰了我半天,也不知道该如何解决。希望大家多多帮忙!速速!
1、每执行一个步骤就要写一句LOG信息,所以你的方法不太可行。而且,LOG信息中需要包括错误信息,照你的方法的话,如果程序中间出错了,根本都没能保存LOG信息程序就非法终止了。
2、我想你指的是线程吧?我的Timer已经是在线程中了。
如果这样的话,那要close(f)函数干吗?
以后如果要写日志的话,只要调用该定义
类中的方法即可.
当然,你的代码文件中要Include这个类
(不用说你也应该知道怎么做吧!),并且
要在你需要调用写日志方法的类中定义
一个Protected或Public类型的参量,这样
的话,你就可以在本类的范围内随时调用
它了,根本没有必要去考虑什么打开和关闭
文件,因为那是多余的!!!!!!!!!!!!!!!
怎么没人回答?