1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- --
- -- io.lua
- -- Additions to the I/O namespace.
- -- Copyright (c) 2008-2014 Jason Perkins and the Premake project
- --
- --
- -- Open an overload of the io.open() function, which will create any missing
- -- subdirectories in the filename if "mode" is set to writeable.
- --
- premake.override(io, "open", function(base, fname, mode)
- if mode and (mode:find("w") or mode:find("a")) then
- local dir = path.getdirectory(fname)
- ok, err = os.mkdir(dir)
- if not ok then
- error(err, 0)
- end
- end
- return base(fname, mode)
- end)
- --
- -- Write content to a new file.
- --
- function io.writefile(filename, content)
- local file = io.open(filename, "w+b")
- if file then
- file:write(content)
- file:close()
- return true
- end
- end
- --
- -- Read content from new file.
- --
- function io.readfile(filename)
- local file = io.open(filename, "rb")
- if file then
- local content = file:read("*a")
- file:close()
- return content
- end
- end
|