FOPEN/FCREATE etc. commands have 2 GB file size limitaions whereas they become blind and behave as if eof()=.t., even when it is not.
Basically equivelent code using File Scripting does not have this limitation.
There is definitely a time penalty vs. fopen/fcreate, but of course, that point is moot when you are trying to pull some info out of a >2 GB file.
The below code was used to write a 3 GB file, and was also tested vs. an fcreate on a smaller file and yielded identical results.
Brian
fso = CreateObject("Scripting.FileSystemObject")
ExistingFile= fspenTextFile("INPUT.TXT", 1,.f.)
NewFile = fso.CreateTextFile("OUTPUT.TXT", .t.)
DO While ExistingFile.AtEndOfStream=.f.
LcString=ExistingFile.ReadLine()
LcString=SUBSTR(LcString,2,200)+SUBSTR(LcString,202,209) &&parsing seems faster here vs. in the WriteLine
NewFile.WriteLine(LcString)
ENDDO
ExistingFile.Close
NewFile.Close
This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
By continuing to use this site, you are consenting to our use of cookies.