Difference between revisions of "ObjectType:file"

From Lavish Software Wiki
Jump to navigation Jump to search
Line 23: Line 23:
 
*'''Skip['''#''']''': Skips # bytes within 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)
 
*'''Truncate''': Truncates the file at the current position (all data after this point in the file is removed)
 +
*'''Flush''': Forces any pending writes to disk.  Writes may otherwise be buffered until the file is closed, or if the file is open for both reading and writing, until a read operation
  
 
== Returns ==
 
== Returns ==

Revision as of 21:06, 23 February 2006

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)
  • Flush: Forces any pending writes to disk. Writes may otherwise be buffered until the file is closed, or if the file is open for both reading and writing, until a read operation

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