0
BinaryFile보다 MemoryMappedFile을 사용하면 어떤 이점이 있습니까 ?? 두 방법 모두의 독서 시간을 비교했을 때, 취해진 시간은 거의 같았습니까? 당신이 순차적으로 파일에 쓰기 경우BinaryFile과 MemoryMappedFile의 차이점은 무엇입니까?
class Program
{
public static void WriteToBinaryFile<T>(string filePath, T objectToWrite, bool append = false)
{
using (Stream stream = File.Open(filePath, append ? FileMode.Append : FileMode.Create))
{
var binaryFormatter = new BinaryFormatter();
binaryFormatter.Serialize(stream, objectToWrite);
}
}
public static void WriteObjectToMMF(string mmfFile, object objectData)
{
// Convert .NET object to byte array
byte[] buffer = ObjectToByteArray(objectData);
// Create a new memory mapped file
using (MemoryMappedFile mmf =
MemoryMappedFile.CreateFromFile(mmfFile, FileMode.Create, null, buffer.Length))
{
// Create a view accessor into the file to accommmodate binary data size
using (MemoryMappedViewAccessor mmfWriter = mmf.CreateViewAccessor(0, buffer.Length))
{
// Write the data
mmfWriter.WriteArray<byte>(0, buffer, 0, buffer.Length);
}
}
}
}