MTA:Eir/FileSystem/file/readInt
Jump to navigation
Jump to search
This function attempts to read an integer (native type) from a file and return it. The amount of bytes read should be four.
Syntax
int file.readInt ()
Returns
Returns an integer if it was successfully read from the file, false otherwise.
Example
Click to collapse [-]
ClientThis snippet demonstrates an encrypted Lua source code format.
-- Have some pieces of source code as samples. local sourceSamples = { [[print("Hello World!");]], [[print("Ballas on the streets.");]], [[return 1+1==0;]] }; local function packSourceCode( theFile, sourceString ) -- Encrypt the source code. local encryptedCode = teaEncode( sourceString ); -- Write the file header. theFile.writeInt( #encryptedCode ); -- Write file contents. theFile.write( encryptedCode ); end local function unpackSourceCode( theFile ) -- Grab the source code from the file. local encryptedLen = theFile.readInt(); -- Has the length been read correctly? if not ( encryptedLen ) then return false; end local encryptedSource = theFile.read( encryptedLen ); -- Make sure it has not been fragmented. if not ( #encryptedSource == encryptedLen ) then return false; end -- Decrypt the source code. local sourceCode = teaDecode( encryptedSource ); -- Return it. return sourceCode; end -- Attempt some encryption. local theFile = fileCreate( "encryptedSource.lue" ); for m,n in ipairs( sourceSamples ) do packSourceCode( theFile, n ); end -- Get the original source code again. theFile.seek( 0, "set" ); local unencryptedSources = {}; while ( true ) do local code = unpackSourceCode( theFile ); if not ( code ) then break; end table.insert( unencryptedSources, code ); end