1337io - New file Input/Output module.

A friend of mine wrote this module because fileio sucked according to him, and since he’s lazy I’ve put the module on my github.

Due to the fact it’s OOP, you can read, write, append. It even has some security features that fileio doesn’t.

Author: http://steamcommunity.com/profiles/76561197960407380/

NOTE: Only for windows at the moment.

Here are the functions exposed to the lua api:



// OOP Functions
CFile:Read
CFile:Write
CFile:Append
CFile:Clear
CFile:Flush
CFile:Length

// Functions
leetio.Open
leetio.CreateDirectory
leetio.GetDirectory


:confused:

I see this module does not make use of IFileSystem stuff. Which means it won’t work for mounted content, including addons. So, for example, if you have a file *addons/Bullshit/lua/shit.lua*, it cannot be read using *lua/shit.lua* path. Kinda limits the usability in my opinion.

1337? Woah, it’s 1995 again.

Why would you want to write to addons/?
even if that was in, conflicting filenames would own you, so he’d rather not.

An example would be in-game Lua code editor (Luapad, GCompute etc.) that is able to write to Lua files directly.

conflicting filenames would own you.

Usually if you have filename conflicts like that, it means you’re doing something wrong (an exception would be overriding some default stuff with your own on purpose but it’s not common with Lua files).

Also I have my own IFileSystem-based unrestricted file IO module and I’ve never had a problem like this with it during the testing and use of it.

You could include a method for watching files, and call a hook when they are modified.