.net

2010-01-16 16 views
5

'da okunabilen dosya için maksimum boyut. Net Framework'de okunabilecek maksimum dosya boyutu nedir?.net

Uzun (Int64) max uzunluğudur çünkü tüm okuyucuda Seek yöntemindeki ofsetin türü bu mu?

cevap

8

cevap, dil belirtimi tarafından "tanımsız".

Arama ofseti bir kökenden kaynaklanır, bu nedenle daha uzun bir dosya için daha büyük bir dosya arayabilirsiniz. Sadece dosya başlangıcından arama yapamazsın. Ayrıca, dosya nesnesinin okunmayı desteklemesi gerekmez. FileStream.Seek Documentation

Daha fazla bilgi var Belki başka biri daha iyi biliyor, ancak tanımlı maksimum dosya boyutu olduğuna inanmıyorum. Dosya sisteminden okunan verilerle (örneğin, bellek depolamak için bellek tükeniyor, vb.) Yaptığınız şeyle kısıtlanacaktır.

1

Bu benim tahminim olurdu, ancak dosya sistemi tarafından yüklenen dosya boyutu gibi başka kısıtlamalar var. NTFS'de 2 Terabayt'tır, ancak FAT32'de örneğin 4GB eksi 2 Bayttır.

+0

Her zaman FAT32'deki dosya boyutu sınırının 2^32 - 1 bayt olduğunu mu düşündüm? 2Gb limiti için bir kaynağınız var mı? –

+0

Sabit ... http: //www.ntfs.com/ntfs_vs_fat.htm –

1

Teorik maksimum (dosya sistemi sınırlamalarını dikkate almayan), tahmin ettiğiniz gibi Int64.MaxValue şeklindedir. Bundan daha uzun bir dosya okuduysanız ne olacağından emin değilim, ancak çok olası görünmüyor;)

+0

Sadece 8388608 tebibyte ... mütevazı bir limit;) – Skurmedel

4

Bu yalnızca dosya sistemi tarafından kısıtlanmıştır. Seek() gerekli bir işlev değildir, C/C++ programcıları fseek() 'in uzun bir süre için 2 gigabayt sınırı ile ilgilenmiştir. Çok sayıda dosya erişimi sıralıdır. Ancak, .NET sürümü bir süredir sorunsuz çalışacak olsa da, şu anki Windows dosya sistemi (NTFS sürüm 6) dosya boyutunu 17,592,185,978,880 bayt (2^63 - 1 güney) ile sınırlandırmaktadır, aynı zamanda güneyde 2^63 - 1