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 biv343 on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Large File Solution for Fopen/Fcreate Limitation 1

Status
Not open for further replies.

baltman

Technical User
Mar 5, 2002
1,578
US
As I've mentioned in other posts, fopen/fcreate commands do have 2 GB file size limitaions where they become blind and behave as if eof()=.t., even when it is not.

I've managed to figure out basically equivelent code using File Scripting that 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 10 GB ASCII 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.

Tested using VFP 7 and XP Pro.

Brian


fso = CreateObject("Scripting.FileSystemObject")
ExistingFile= fso_OpenTextFile("USR_2000_OUTPUT.TXT", 1,.f.)
NewFile = fso.CreateTextFile("FS_2000_OUTPUT.TXT", .t.)
DO While ExistingFile.AtEndOfStream=.f.
LcString=ExistingFile.ReadLine()
LcString=SUBSTR(LcString,2,200)+SUBSTR(LcString,202,209) &&preparing here is seems faster than putting in the WriteLine
NewFile.WriteLine(LcString)
ENDDO
ExistingFile.Close
NewFile.Close
 
You're too kind :)
 
Baltman,

I find your code in this thread very useful to me nowadays. Do you have a list of available commands in Scripting.FileSystemObject? As I need to inform the user the filesize prior writting the extracted data into a NewFile.

I appreciate your help.

Thanks.
 
Do you have a list of available commands in Scripting.FileSystemObject?

You can open the Windows Scripting Host Object Model in the VFP Object Browser and drill deeply into its properties and methods.

Best place for detailed explanation is MSDN.

Geoff Franklin
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top