У меня есть файл с байтами 1,5 ГБ в size {filebyte}
. Я хочу, чтобы прочитать весь файл в случае один экземпляр, похожий на ДелфиСчитывание всего байта файла с использованием кэша межсистемных систем?
bytedata:=filebyte.readallbytes(filename);
В результате того, что в одном случае вы будете иметь ByteArray с числом элементов является высокой (bytedata) -Low (bytedata) +1 , Есть ли эквивалентный код в кеше. Может ли файл размером 1,5 Гб быть сохранен в кеше. Я не хочу читать файл в блоках, так как операция по анализу данных требует, чтобы весь файл находился в памяти за один раз. Thanks
В вашем примере данные переменной сохраняют весь файл? Если да, то как бы получить доступ к подэлементам? –
Да, у него будет весь контент, но что вы подразумеваете под подэлементами? – DAiMor
Если файл состоит из 1000 байтов значений между (1-4), исключительными будут данные (1) = 2, данные (2) = 4 .... данные (999) = 1, данные (1000) = 4 или будут data = 2421123 ..... 14 где 14 - 999-й и 1000-й байты. Если последнее, то отдельные байты нельзя легко манипулировать, и нет никакого преимущества при чтении всего файла при чтении одного значения за раз. В моем примере delphi bytedata: = filebyte.readallbytes (filename) bytedata - это массив со значениями от 0 до длины-1 и bytedata [0] = 2, bytedata [2] = 4, bytedata [998] = 1 и bytedata [ 999] = 4. Есть ли аналогичная операция в кеше? –