Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/delphi/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用delphi编写大文件的正确方法是什么_Delphi_Text - Fatal编程技术网

用delphi编写大文件的正确方法是什么

用delphi编写大文件的正确方法是什么,delphi,text,Delphi,Text,我需要写一个非常大的文件(约100-150MB)与Delphi。 此文件将是CSV文件或SQL文件(用户可以选择) 在过去,我总是使用TStringList对象来编写文本文件,但在这种情况下,我有一个非常大的文件,我认为这不是最好的解决方案。 如果可能,我需要一个速度和低内存的解决方案。使用t文件流并在创建数据时将输出数据写入其中。这样,您就可以立即写入文件,并且文件会相应地增长,并且不会浪费内存 如果您使用的是Delphi 2009或更高版本,则可以使用TStreamWriter类包装TFil

我需要写一个非常大的文件(约100-150MB)与Delphi。 此文件将是CSV文件或SQL文件(用户可以选择)

在过去,我总是使用TStringList对象来编写文本文件,但在这种情况下,我有一个非常大的文件,我认为这不是最好的解决方案。
如果可能,我需要一个速度和低内存的解决方案。

使用
t文件流
并在创建数据时将输出数据写入其中。这样,您就可以立即写入文件,并且文件会相应地增长,并且不会浪费内存


如果您使用的是Delphi 2009或更高版本,则可以使用
TStreamWriter
类包装
TFileStream
TStreamWriter
Write()
WriteLine()
方法用于写入
字符串和格式化数据。

使用
TFileStream
并在创建数据时将输出数据写入其中。这样,您就可以立即写入文件,并且文件会相应地增长,并且不会浪费内存


如果您使用的是Delphi 2009或更高版本,则可以使用
TStreamWriter
类包装
TFileStream
TStreamWriter
Write()
WriteLine()
方法用于写入
字符串和格式化数据。

使用
TFileStream
并在创建数据时将输出数据写入其中。这样,您就可以立即写入文件,并且文件会相应地增长,并且不会浪费内存


如果您使用的是Delphi 2009或更高版本,则可以使用
TStreamWriter
类包装
TFileStream
TStreamWriter
Write()
WriteLine()
方法用于写入
字符串和格式化数据。

使用
TFileStream
并在创建数据时将输出数据写入其中。这样,您就可以立即写入文件,并且文件会相应地增长,并且不会浪费内存


如果您使用的是Delphi 2009或更高版本,则可以使用
TStreamWriter
类包装
TFileStream
TStreamWriter
Write()
WriteLine()
方法用于写入
String
和格式化数据。

这是一个小文件。你现在有什么问题?您可能会受益于我的缓冲流代码。使用缓冲流可以优化文件I/O,但不能解决内存使用问题。写入文件时,整个
TStringList
仍将在内存中,除非您使用类似
TStreamWriter
的时间以较小的片段写入流以减少内存使用。@Remy是对的。除非需要将整个文件存储在内存中,否则不要这样做。但是对于这种大小的文件来说,缓冲I/O仍然是值得的。这是一个小文件。你现在有什么问题?您可能会受益于我的缓冲流代码。使用缓冲流可以优化文件I/O,但不能解决内存使用问题。写入文件时,整个
TStringList
仍将在内存中,除非您使用类似
TStreamWriter
的时间以较小的片段写入流以减少内存使用。@Remy是对的。除非需要将整个文件存储在内存中,否则不要这样做。但是对于这种大小的文件来说,缓冲I/O仍然是值得的。这是一个小文件。你现在有什么问题?您可能会受益于我的缓冲流代码。使用缓冲流可以优化文件I/O,但不能解决内存使用问题。写入文件时,整个
TStringList
仍将在内存中,除非您使用类似
TStreamWriter
的时间以较小的片段写入流以减少内存使用。@Remy是对的。除非需要将整个文件存储在内存中,否则不要这样做。但是对于这种大小的文件来说,缓冲I/O仍然是值得的。这是一个小文件。你现在有什么问题?您可能会受益于我的缓冲流代码。使用缓冲流可以优化文件I/O,但不能解决内存使用问题。写入文件时,整个
TStringList
仍将在内存中,除非您使用类似
TStreamWriter
的时间以较小的片段写入流以减少内存使用。@Remy是对的。除非需要将整个文件存储在内存中,否则不要这样做。但是对于这种大小的文件,缓冲I/O仍然是值得的。