ObjectType:file
From Lavish Software Wiki
(Redirected from DataType:file)
Contents |
[edit]
Description
[edit]
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[binary 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
[edit]
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[binary 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
[edit]
Returns
The full path and filename to this file
[edit]
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[1]}
File:Close
echo Closed
echo Filename=${File.Path}${File.Filename}
echo Opened=${File:Open(exists)}
Buffer.Int[1]: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
[edit]
Operates On
LSFile *
This is an internal data type
[edit]
