tôi dường như không thể tìm thấy một cách hiệu quả hơn để "sao chép" một nguồn tài nguyên nhúng vào đĩa, hơn như sau:Viết tập tin từ dòng nguồn lắp ráp vào đĩa
using (BinaryReader reader = new BinaryReader(
assembly.GetManifestResourceStream(@"Namespace.Resources.File.ext")))
{
using (BinaryWriter writer
= new BinaryWriter(new FileStream(path, FileMode.Create)))
{
long bytesLeft = reader.BaseStream.Length;
while (bytesLeft > 0)
{
// 65535L is < Int32.MaxValue, so no need to test for overflow
byte[] chunk = reader.ReadBytes((int)Math.Min(bytesLeft, 65536L));
writer.Write(chunk);
bytesLeft -= chunk.Length;
}
}
}
Có vẻ như không trực tiếp hơn cách để làm bản sao, trừ khi tôi đang thiếu một cái gì đó ...
Có vẻ ổn với tôi. Nó có cảm thấy quá nhiều dòng mã không? – Cheeso
Cảm giác như có cách trực tiếp hơn là chunking. – user7116