SORU
8 Ocak 2010, Cuma


En iyi C bayt bir dizi halinde büyük bir dosya okumak için*?

Büyük ikili dosyaları (birkaç megabayt) byte dizileri haline okuyacak olan bir web server var. Sunucu çok CPU vergi olmadan bunu yapmak için en iyi yol arıyorum yani aynı anda (farklı sayfa istekleri) birkaç dosya okuma olabilir. Aşağıdaki kod yeterli mi?

public byte[] FileToByteArray(string fileName)
{
    byte[] buff = null;
    FileStream fs = new FileStream(fileName, 
                                   FileMode.Open, 
                                   FileAccess.Read);
    BinaryReader br = new BinaryReader(fs);
    long numBytes = new FileInfo(fileName).Length;
    buff = br.ReadBytes((int) numBytes);
    return buff;
}

CEVAP
8 Ocak 2010, Cuma


Sadece her şeyi değiştirin:

return File.ReadAllBytes(fileName);

Eğer bellek tüketimi konusunda endişeleriniz varsa, ancak gerekirdeğiltüm belleğe tek seferde tüm dosyayı okumak. Parçalar böyle yapmalısınız.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • AndyMcMillinTV

    AndyMcMillin

    6 HAZİRAN 2007
  • FlippinWindows | #1 Windows Tutorial Channel!

    FlippinWindo

    23 Mayıs 2010
  • Jason Parker

    Jason Parker

    14 Aralık 2009