Ответ: случайная выборка файла
Graphics 800,600,0,2
SetBuffer BackBuffer ()
Global sss=WriteFile ("spisok.txt")
oldTime=MilliSecs()
ScanDir("D:\tex\")
CloseFile sss
newTime=MilliSecs()
Print (Newtime-oldtime)/1000.0
WaitKey()
End
Function ScanDir(path$)
dir = ReadDir(path$)
Repeat
file$ = NextFile(dir)
If file$ = "" Then Exit
If file$ <> "." And file$ <> ".." Then
Select FileType(path$ + file$)
Case 1
WriteLine sss,path$ + file$
Case 2
ScanDir(path$ + file$ + "\")
End Select
EndIf
Forever
CloseDir dir
End Function
в общем я сделал так, результаты меня порадовали - 28 гигов за 7 секунд (хотя если написать библу на пурике, я думаю будет быстрее) и размер файла со списком получился почти 12 мегов.
осталась проблема, как сделать случайное чтение из списка не загружая весь файл в память?
|