Difference between revisions of "Manual:File System Functions"

From Mudlet
Jump to navigation Jump to search
(→‎io.exists: add returned values)
(→‎lfs.attributes: add returned values)
Line 27: Line 27:
  
 
==lfs.attributes==
 
==lfs.attributes==
; lfs.attributes(path)
+
; infoTable = lfs.attributes(path)
 
: Returns a table with detailed information regarding a file or directory, or nil if path is invalid / file or folder does not exist.
 
: Returns a table with detailed information regarding a file or directory, or nil if path is invalid / file or folder does not exist.
  

Revision as of 22:47, 12 August 2018

File System Functions

A collection of functions for interacting with the file system.

io.exists

TrueOrFalse = io.exists()
Checks to see if a given file or folder exists.
If it exists, it’ll return the Lua true boolean value, otherwise false.
See lfs.attributes() for a cross-platform solution.
Example
-- This example works on Linux only
if io.exists("/home/vadi/Desktop") then
  echo("This folder exists!")
else
  echo("This folder doesn't exist.")
end

-- This example will work on both Windows and Linux.
if io.exists("/home/vadi/Desktop/file.tx") then
  echo("This file exists!")
else
  echo("This file doesn't exist.")
end

lfs.attributes

infoTable = lfs.attributes(path)
Returns a table with detailed information regarding a file or directory, or nil if path is invalid / file or folder does not exist.
Example
fileInfo = lfs.attributes("/path/to/file_or_directory")
if fileInfo then
    if fileInfo.mode == "directory" then
        echo("Path points to a directory.")
    elseif fileInfo.mode == "file" then
        echo("Path points to a file.")
    else
        echo("Path points to: "..fileInfo.mode)
    end
    display(fileInfo) -- to see the detailed information
else
    echo("The path is invalid (file/directory doesn't exist)")
end