# JseIoLib (Luaj API)
Date: 2015-04-29

## org.luaj.vm2.lib.jse
Class JseIoLib

    java.lang.Object
      org.luaj.vm2.Varargs
          org.luaj.vm2.LuaValue
              org.luaj.vm2.LuaFunction
                  org.luaj.vm2.lib.LibFunction
                      org.luaj.vm2.lib.TwoArgFunction
                          org.luaj.vm2.lib.IoLib
                              org.luaj.vm2.lib.jse.JseIoLib

    public class JseIoLib

extends IoLib

Subclass of `IoLib` and therefore `LibFunction` which implements the lua standard `io` library for the JSE platform.

It uses RandomAccessFile to implement seek on files.

Typically, this library is included as part of a call to `JsePlatform.standardGlobals()`

     Globals globals = JsePlatform.standardGlobals();
     globals.get("io").get("write").call(LuaValue.valueOf("hello, world\n"));

For special cases where the smallest possible footprint is desired, a minimal set of libraries could be loaded directly via `LuaValue.load(LuaValue)` using code such as:

     Globals globals = new Globals();
     globals.load(new JseBaseLib());
     globals.load(new PackageLib());
     globals.load(new JseIoLib());
     globals.get("io").get("write").call(LuaValue.valueOf("hello, world\n"));

However, other libraries such as MathLib are not loaded in this case.

This has been implemented to match as closely as possible the behavior in the corresponding library in C.

See Also:
  `LibFunction`, `JsePlatform`, `JmePlatform`, `IoLib`, `JmeIoLib`, Lua 5.2 I/O Lib Reference

Nested Class Summary

Nested classes/interfaces inherited from class org.luaj.vm2.lib.IoLib
`IoLib.File`

Field Summary

Fields inherited from class org.luaj.vm2.lib.IoLib
`FILE_NAMES, FTYPE_NAMED, FTYPE_STDERR, FTYPE_STDIN, FTYPE_STDOUT, globals, IO_NAMES`

Fields inherited from class org.luaj.vm2.lib.LibFunction
`name, opcode`

Fields inherited from class org.luaj.vm2.LuaFunction
`s_metatable`

Fields inherited from class org.luaj.vm2.LuaValue
`ADD, CALL, CONCAT, DIV, EMPTYSTRING, ENV, EQ, FALSE, INDEX, LE, LEN, LT, METATABLE, MINUSONE, MOD, MODE, MUL, NEWINDEX, NIL, 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
`JseIoLib()`

Method Summary
`protected IoLib.File` `openFile(java.lang.String filename, boolean readMode, boolean appendMode, boolean updateMode, boolean binaryMode)` Open a file in a particular mode.
`protected IoLib.File` `openProgram(java.lang.String prog, java.lang.String mode)` Start a new process and return a file for input or output
`protected IoLib.File` `tmpFile()` Open a temporary file.
`protected IoLib.File` `wrapStderr()` Wrap the standard error output.
`protected IoLib.File` `wrapStdin()` Wrap the standard input.
`protected IoLib.File` `wrapStdout()` Wrap the standard output.

Methods inherited from class org.luaj.vm2.lib.IoLib
`_file_close, _file_flush, _file_lines, _file_read, _file_seek, _file_setvbuf, _file_write, _io_close, _io_flush, _io_index, _io_input, _io_lines, _io_open, _io_output, _io_popen, _io_read, _io_tmpfile, _io_type, _io_write, _lines_iter, call, freadall, freadbytes, freadline, freadnumber, freaduntil`

Methods inherited from class org.luaj.vm2.lib.TwoArgFunction
`call, call, call, invoke`

Methods inherited from class org.luaj.vm2.lib.LibFunction
`bind, bind, call, newupe, newupl, newupn, tojstring`

Methods inherited from class org.luaj.vm2.LuaFunction
`checkfunction, classnamestub, getmetatable, isfunction, name, optfunction, strvalue, type, typename`

Methods inherited from class org.luaj.vm2.LuaValue

`add, add, add, and, arg, arg1, argerror, argerror, aritherror, aritherror, arithmt, arithmtwith, assert_, buffer, call, callmt, checkboolean, checkclosure, checkdouble, checkglobals, checkint, checkinteger, checkjstring, checklong, checkmetatag, checknotnil, checknumber, checknumber, checkstring, checktable, checkthread, checkuserdata, checkuserdata, compareerror, compareerror, comparemt, concat, concat, concatmt, concatTo, concatTo, concatTo, div, div, div, divInto, eq_b, eq, eqmtcall, equals, error, get, get, get, gettable, gt_b, gt_b, gt_b, gt, gt, gt, gteq_b, gteq_b, gteq_b, gteq, gteq, gteq, illegal, 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, lenerror, length, listOf, listOf, load, lt_b, lt_b, lt_b, lt, lt, lt, lteq_b, lteq_b, lteq_b, lteq, lteq, lteq, metatableOf, metatag, method, method, method, method, method, method, mod, mod, mod, modFrom, mul, mul, mul, narg, neg, neq_b, neq, 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, settable, 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, typerror, unimplemented, userdataOf, userdataOf, valueOf, valueOf, valueOf, valueOf, valueOf, valueOf, varargsOf, varargsOf, varargsOf, varargsOf, varargsOf, varargsOf`

Methods inherited from class org.luaj.vm2.Varargs

`argcheck, checkboolean, checkclosure, checkdouble, checkfunction, checkint, checkinteger, checkjstring, checklong, checknotnil, checknumber, checkstring, checktable, checkthread, checkuserdata, checkuserdata, checkvalue, 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`

Methods inherited from class java.lang.Object
`clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Constructor Detail

### JseIoLib

    public JseIoLib()

Method Detail

### wrapStdin

    protected IoLib.File wrapStdin()
                            throws java.io.IOException

  Description copied from class: `IoLib`
  Wrap the standard input.

  Specified by:
    `wrapStdin` in class `IoLib`
  Returns:
    File
  Throws:
    `java.io.IOException`

### wrapStdout

    protected IoLib.File wrapStdout()
                             throws java.io.IOException

  Description copied from class: `IoLib`
  Wrap the standard output.

  Specified by:
    `wrapStdout` in class `IoLib`
  Returns:
    File
  Throws:
    `java.io.IOException`

### wrapStderr

    protected IoLib.File wrapStderr()
                             throws java.io.IOException

  Description copied from class: `IoLib`
  Wrap the standard error output.

  Specified by:
    `wrapStderr` in class `IoLib`
  Returns:
    File
  Throws:
    `java.io.IOException`

### openFile

    protected IoLib.File openFile(java.lang.String filename,
                                  boolean readMode,
                                  boolean appendMode,
                                  boolean updateMode,
                                  boolean binaryMode)
                           throws java.io.IOException

  Description copied from class: `IoLib`
  Open a file in a particular mode.

  Specified by:
    `openFile` in class `IoLib`
    `readMode` - true if opening in read mode
    `appendMode` - true if opening in append mode
    `updateMode` - true if opening in update mode
    `binaryMode` - true if opening in binary mode
  Returns:
    File object if successful
  Throws:
    `java.io.IOException` - if could not be opened

### openProgram

    protected IoLib.File openProgram(java.lang.String prog,
                                     java.lang.String mode)
                              throws java.io.IOException

  Description copied from class: `IoLib`
  Start a new process and return a file for input or output

  Specified by:
    `openProgram` in class `IoLib`
  Parameters:
    `prog` - the program to execute
    `mode` - "r" to read, "w" to write
  Returns:
    File to read to or write from
  Throws:
    `java.io.IOException` - if an i/o exception occurs

### tmpFile

    protected IoLib.File tmpFile()
                          throws java.io.IOException

  Description copied from class: `IoLib`
  Open a temporary file.

  Specified by:
    `tmpFile` in class `IoLib`
  Returns:
    File object if successful
  Throws:
    `java.io.IOException` - if could not be opened

Copyright © 2007-2015 Luaj.org. All Rights Reserved.