ObjectType:file

From Lavish Software Wiki
Revision as of 22:15, 15 December 2005 by Lax (talk | contribs)
Jump to navigation Jump to search

Description

Members

  • bool Open: TRUE if the file is open
  • filepath Path: Full path to this file
  • string Filename: Filename of this file
  • string Read: Reads a line from this file, up to 1024 characters long (result includes carriage return)
  • string Read[#]: Reads a line from this file, up to # characters long (result includes carriage return)
  • int ReadBinary[buffer variable,#]: Reads # bytes into the specified buffer. Result is the number of bytes read.
  • int Position: Current position within the file
  • int Size: Size of the file
  • bool EOF: TRUE if the previous Read or ReadBinary hit the end of the file

Methods

  • SetFilename[filename]: Sets the full path and filename. Only valid while file is closed.
  • Open: Opens the file
  • Open[readonly]: Opens the file in read-only mode
  • Close: Closes the file
  • Write[text]: Writes the given text to the file
  • WriteBinary[buffer variable,#]: Writes # bytes from the given buffer variable to the file
  • Seek[#]: Seeks to the specified position within the file
  • SeekEnd: Seeks to the end of the file
  • Skip[#]: Skips # bytes within the file
  • Truncate: Truncates the file at the current position (all data after this point in the file is removed)

Returns

The full path and filename to this file

Examples

Example code

function main()

{ 
   Declare Buffer binary
   Declare File file test.dat 
    
   echo Filename=${File.Path}${File.Filename} 
   echo Opened=${File:Open(exists)} 
   echo Write=${File:Write["Line One...\n"](exists)} 
   echo Position=${File.Position} 
   echo Write=${File:Write["Line Two!\n"](exists)} 
   echo Position=${File.Position} 
   echo Truncate=${File:Truncate(exists)} 
   echo Size=${File.Size} 
   File:Close 
   echo Closed 
 
   echo Filename=${File.Path}${File.Filename} 
   echo Opened Readonly=${File:Open[readonly](exists)} 
   echo Write=${File:Write["Overwriting Line One?\n"](exists)} 
   echo Position=${File.Position} 
   echo Read=${File.Read} 
   echo Position=${File.Position} 
   echo Read=${File.Read} 
   echo Position=${File.Position} 
   File:Close 
   echo Closed 

   declare FP filepath "c:/program files/innerspace/scripts"
   echo FileExists[test.iss] = ${FP.FileExists[test.iss]}
   echo Path = ${FP.Path}
   echo PathExists = ${FP.PathExists}
   echo AbsolutePath = ${FP.AbsolutePath}

   echo Filename=${File.Path}${File.Filename} 
   echo Opened Readonly=${File:Open[readonly](exists)} 
   echo ReadBinary=${File.ReadBinary[Buffer,${File.Size}]} 
   echo Null terminating... 
   Buffer.Byte[${File.Size}]:Set[0] 
   echo String=${Buffer.String[0]} 
   File:Close 
   echo Closed 
 
   echo Filename=${File.Path}${File.Filename} 
   echo Opened=${File:Open(exists)} 
   Buffer.Int[0]:Set[12345678] 
   echo WriteBinary=${File:WriteBinary[Buffer,${File.Size}](exists)} 
   File:Close 
   echo Closed 
} 
Output
Filename=C:/Program Files/InnerSpace/test.dat
Opened=TRUE
Write=TRUE
Position=12
Write=TRUE
Position=22
Truncate=TRUE
Size=22
Closed
Filename=C:/Program Files/InnerSpace/test.dat
Opened Readonly=TRUE
Write=NULL
Position=0
Read=Line One...   

Position=12
Read=Line Two! 

Position=22
Closed
FileExists[test.iss] = TRUE
Path = c:/program files/innerspace/scripts
PathExists = TRUE
AbsolutePath = c:/program files/innerspace/scripts
Filename=C:/Program Files/InnerSpace/test.dat
Opened Readonly=TRUE
ReadBinary=22
Null terminating...
String=NULL
Closed
Filename=C:/Program Files/InnerSpace/test.dat
Opened=TRUE
WriteBinary=TRUE
Closed


Operates On

LSFile *

This is an internal data type

See Also