Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/7.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_File Mapping - Fatal编程技术网

Delphi 使用文件映射创建文件

Delphi 使用文件映射创建文件,delphi,file-mapping,Delphi,File Mapping,下午好。我使用文件映射来读取文件。现在我需要用这种技术创建一个文件,但我不知道文件的大小。如果大小未知,如何使用FileMappimg创建文件?调用CreateFileMapping时,必须事先知道文件的大小。所以我想你需要选择一个大的值,如果你用完了空间,关闭这个映射,然后创建一个最大值更大的新映射。这没什么意思,可能效率也不太高 很可能您根本没有意识到Delphi文件流可以处理带有64位文件指针的大型文件。使用映射可能有性能方面的原因。在这种情况下,您只需要一个缓冲流,其中有许多免费提供的示

下午好。我使用文件映射来读取文件。现在我需要用这种技术创建一个文件,但我不知道文件的大小。如果大小未知,如何使用FileMappimg创建文件?

调用CreateFileMapping时,必须事先知道文件的大小。所以我想你需要选择一个大的值,如果你用完了空间,关闭这个映射,然后创建一个最大值更大的新映射。这没什么意思,可能效率也不太高


很可能您根本没有意识到Delphi文件流可以处理带有64位文件指针的大型文件。使用映射可能有性能方面的原因。在这种情况下,您只需要一个缓冲流,其中有许多免费提供的示例。

使用文件映射创建文件。这是什么意思?@user2996299为什么不使用TFileStream?@user2819514,因为文件超过8Gb。为什么8Gb很重要?与所有TStream子体一样,它可以处理大型文件。TFileStream可用于创建大于8GB的文件。我通过创建一个25GB的文件来测试这一点,只是为了确保。XE5 Windows7