JSFileApi
Jump to navigation
Jump to search
File is an immutable object. To mutate it, just create new File()s.
var dir = new File("/path"); // /path on unix var subdir = new File(dir, "name.txt") // /path/name.txt on unix
File.path is the relative path File.absolutePath() File.resolveLinks() File.stat() returns a new immutable objects describing the file eg {isDirectory:true, isFile:false, lastModified, ...}
File.readdir() returns an array of arrays(because we don't have tuples) //readdir throws an exception if it isn't a directory for each [file,stat_info] in file.readdir() { // stat_info is akin to the info returned by stat(), but it only has the information returned by readdir(3) in it(ie is this a file/dir/etc), rest of the properties are lazily computed by doing a lazy stat() call. // here type is a directory|file. i = file.stat() // i = { size: 1, lastModified:...} }
IO
File.open should be similar to the unix open.
var desc = File.open([File.WRITE_ONLY, File.CREATE]) desc.write("foo"); desc.close() var d2 = File.open([File.READ]) d2.seek(...) var contents = d2.read()// with optional size parameter to read less than full remaining file d2.close()