Class IoLib
- All Implemented Interfaces:
com.esotericsoftware.kryo.KryoSerializable
- Direct Known Subclasses:
JseIoLib
LibFunction
which implements the
core of the lua standard io
library.
It contains the implementation of the io library support that is common to the JSE and JME platforms. In practice on of the concrete IOLib subclasses is chosen: org.luaj.vm2.lib.jse.JseIoLib for the JSE platform, and
The JSE implementation conforms almost completely to the C-based lua library, while the JME implementation follows closely except in the area of random-access files, which are difficult to support properly on JME.
Typically, this library is included as part of a call to either
Globals globals = JsePlatform.standardGlobals();
globals.get("io").get("write").call(LuaValue.valueOf("hello, world\n"));
In this example the platform-specific org.luaj.vm2.lib.jse.JseIoLib library will be loaded, which will include
the base functionality provided by this class, whereas the org.luaj.vm2.lib.jse.JsePlatform would load the
org.luaj.vm2.lib.jse.JseIoLib.
To instantiate and use it directly,
link it into your globals table via LuaValue.load(LuaValue)
using code such as:
Globals globals = new Globals();
globals.load(new JseBaseLib());
globals.load(new PackageLib());
globals.load(new OsLib());
globals.get("io").get("write").call(LuaValue.valueOf("hello, world\n"));
This has been implemented to match as closely as possible the behavior in the corresponding library in C.
-
Nested Class Summary
Nested ClassesNested classes/interfaces inherited from class com.prineside.luaj.LuaValue
LuaValue.NillableSerializer, LuaValue.None
-
Field Summary
FieldsFields inherited from class com.prineside.luaj.LuaFunction
s_metatable
Fields inherited from class com.prineside.luaj.LuaValue
ADD, CALL, CONCAT, DIV, EMPTYSTRING, ENV, EQ, FALSE, INDEX, LE, LEN, LT, METATABLE, MINUSONE, MOD, MODE, MUL, NEWINDEX, NIL, NILLABLE_SERIALIZER, NILS, NONE, NOVALS, ONE, POW, SUB, TBOOLEAN, TFUNCTION, TINT, TLIGHTUSERDATA, TNIL, TNONE, TNUMBER, TOSTRING, TRUE, TSTRING, TTABLE, TTHREAD, TUSERDATA, TVALUE, TYPE_NAMES, UNM, ZERO
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescription_file_close
(LuaValue file) _file_flush
(LuaValue file) _file_lines
(Varargs args) _file_read
(LuaValue file, Varargs subargs) _file_seek
(LuaValue file, String whence, int offset) _file_setvbuf
(LuaValue file, String mode, int size) _file_write
(LuaValue file, Varargs subargs) _io_output
(LuaValue filename) _lines_iter
(LuaValue file, boolean toclose, Varargs args) Callthis
with 2 arguments, including metatag processing, and return only the first return value.static LuaValue
freadall
(com.prineside.luaj.lib.IoLib.File f) static LuaValue
freadbytes
(com.prineside.luaj.lib.IoLib.File f, int count) static LuaValue
freadline
(com.prineside.luaj.lib.IoLib.File f, boolean withend) static LuaValue
freadnumber
(com.prineside.luaj.lib.IoLib.File f) static LuaValue
freaduntil
(com.prineside.luaj.lib.IoLib.File f, boolean lineonly, boolean withend) Methods inherited from class com.prineside.luaj.lib.TwoArgFunction
call, call, call, invoke
Methods inherited from class com.prineside.luaj.lib.LibFunction
call, read, tojstring, write
Methods inherited from class com.prineside.luaj.LuaFunction
checkfunction, classnamestub, getmetatable, isfunction, name, optfunction, strvalue, type, typename
Methods inherited from class com.prineside.luaj.LuaValue
add, add, add, and, arg, arg1, argerror, assert_, buffer, cachedDouble, cachedInt, cachedVarargsOf, cachedVarargsOf, cachedVarargsOf, cachedVarargsOf, cachedVarargsOf, cachedVarargsOf, call, checkboolean, checkclosure, checkdouble, checkglobals, checkint, checkinteger, checkjstring, checklong, checknotnil, checknumber, checknumber, checkstring, checktable, checkthread, checkuserdata, checkuserdata, comparemt, concat, concat, concatmt, concatTo, concatTo, concatTo, div, div, div, divInto, eq, eq_b, eqmtcall, equals, error, get, get, get, gt, gt, gt, gt_b, gt_b, gt_b, gteq, gteq, gteq, gteq_b, gteq_b, gteq_b, inext, initupvalue1, invoke, invoke, invoke, invoke, invoke, invokemethod, invokemethod, invokemethod, invokemethod, invokemethod, invokemethod, isboolean, isclosure, isint, isinttype, islong, isnil, isnumber, isstring, istable, isthread, isuserdata, isuserdata, isvalidkey, len, length, listOf, listOf, load, lt, lt, lt, lt_b, lt_b, lt_b, lteq, lteq, lteq, lteq_b, lteq_b, lteq_b, metatag, method, method, method, method, method, method, mod, mod, mod, modFrom, mul, mul, mul, narg, neg, neq, neq_b, next, not, onInvoke, optboolean, optclosure, optdouble, optint, optinteger, optjstring, optlong, optnumber, optstring, opttable, optthread, optuserdata, optuserdata, optvalue, or, pow, pow, pow, powWith, powWith, presize, raweq, raweq, raweq, raweq, raweq, rawget, rawget, rawget, rawlen, rawset, rawset, rawset, rawset, rawset, rawset, rawset, rawsetlist, set, set, set, set, set, set, set, setmetatable, strcmp, strcmp, strongvalue, sub, sub, sub, subargs, subFrom, subFrom, tableOf, tableOf, tableOf, tableOf, tableOf, tableOf, tailcallOf, testfor_b, toboolean, tobyte, tochar, todouble, tofloat, toint, tolong, tonumber, toshort, tostring, toString, touserdata, touserdata, userdataOf, userdataOf, valueOf, valueOf, valueOf, valueOf, valueOf, valueOf, varargsOf, varargsOf, varargsOf, varargsOf, varargsOf, varargsOf
Methods inherited from class com.prineside.luaj.Varargs
argcheck, checkboolean, checkclosure, checkdouble, checkfunction, checkint, checkinteger, checkjstring, checklong, checknotnil, checknumber, checkstring, checktable, checkthread, checkuserdata, checkuserdata, checkvalue, dealias, eval, isfunction, isnil, isnoneornil, isnumber, isstring, istable, isTailcall, isthread, isuserdata, isvalue, optboolean, optclosure, optdouble, optfunction, optint, optinteger, optjstring, optlong, optnumber, optstring, opttable, optthread, optuserdata, optuserdata, optvalue, toboolean, tobyte, tochar, todouble, tofloat, toint, tojstring, tolong, toshort, touserdata, touserdata, type
-
Field Details
-
IO_NAMES
-
FILE_NAMES
-
-
Constructor Details
-
IoLib
public IoLib()
-
-
Method Details
-
call
Description copied from class:LuaValue
Callthis
with 2 arguments, including metatag processing, and return only the first return value.If
this
is aLuaFunction
, call it, and return only its first return value, dropping any others. Otherwise, look for theLuaValue.CALL
metatag and call that.If the return value is a
Varargs
, only the 1st value will be returned. To get multiple values, useLuaValue.invoke()
instead.To call
this
as a method call, useLuaValue.method(LuaValue)
instead.- Specified by:
call
in classTwoArgFunction
- Parameters:
modname
- First argument to supply to the called functionenv
- Second argument to supply to the called function- Returns:
- First return value
(this(arg1,arg2))
, orLuaValue.NIL
if there were none. - See Also:
-
_io_flush
- Throws:
IOException
-
_io_tmpfile
- Throws:
IOException
-
_io_close
- Throws:
IOException
-
_io_input
-
_io_output
-
_io_type
-
_io_popen
- Throws:
IOException
-
_io_open
- Throws:
IOException
-
_io_lines
-
_io_read
- Throws:
IOException
-
_io_write
- Throws:
IOException
-
_file_close
- Throws:
IOException
-
_file_flush
- Throws:
IOException
-
_file_setvbuf
-
_file_lines
-
_file_read
- Throws:
IOException
-
_file_seek
- Throws:
IOException
-
_file_write
- Throws:
IOException
-
_io_index
-
_lines_iter
- Throws:
IOException
-
freadbytes
public static LuaValue freadbytes(com.prineside.luaj.lib.IoLib.File f, int count) throws IOException - Throws:
IOException
-
freaduntil
public static LuaValue freaduntil(com.prineside.luaj.lib.IoLib.File f, boolean lineonly, boolean withend) throws IOException - Throws:
IOException
-
freadline
public static LuaValue freadline(com.prineside.luaj.lib.IoLib.File f, boolean withend) throws IOException - Throws:
IOException
-
freadall
- Throws:
IOException
-
freadnumber
- Throws:
IOException
-