Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations Mike Lewis on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Bypassing Low Level File Functions 2GB Limits

Usefull Functions & Procedures

Bypassing Low Level File Functions 2GB Limits

by  baltman  Posted    (Edited  )
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= fso_OpenTextFile("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
Register to rate this FAQ  : BAD 1 2 3 4 5 6 7 8 9 10 GOOD
Please Note: 1 is Bad, 10 is Good :-)

Part and Inventory Search

Back
Top