Vytvoření pole bajtů pomocí dlouhý datový typ?

hlasů
0

Většinu času, když čteme soubor proudu do bytového pole, budeme psát následující kód: -

 Dim inputStream As New System.IO.FileStream(filePath, IO.FileMode.Open)
 Dim fileLength As Integer= CType(inputStream.Length, Integer)
 Dim input(fileLength) As Byte

 Using inputStream
     inputStream.Read(input, 0, fileLength)
 End Using

Ale tady musíme převést Délka do celočíselného typu (linka 2 výše uvedeného kódu), protože nemůžeme prohlásit bytové pole pomocí dlouhý datový typ (s možností striktního on). Je to dobré praxe? Jaká je práce kolem tohoto problému?

Položena 04/05/2009 v 12:49
zdroj uživatelem
V jiných jazycích...                            


1 odpovědí

hlasů
2

Dobrou praxí je používat File.ReadAllBytesnamísto celé věci:

Dim input = File.ReadAllBytes(filePath)

Mimochodem, je-li váš soubor bude tak velký (více než 4 GB), byste nechtěli, aby to všechno nahrát najednou do bytového pole, jak to bude trvat až 4GB RAM (i v 32 bit se podařilo proces, můžete ho mít vůbec, a to iv případě, že jste dostali více paměti RAM).

Odpovězeno 04/05/2009 v 12:58
zdroj uživatelem

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more