W3cubDocs

/Pony

FileInfo

[Source]

This contains file system metadata for a path.

A symlink will report information about itself, other than the size which will be the size of the target. A broken symlink will report as much as it can and will set the broken flag.

class val FileInfo

Constructors

create

[Source]

This will raise an error if the FileStat capability isn't available or the path doesn't exist.

new val create(
  from: FilePath val)
: FileInfo val^ ?

Parameters

Returns

_descriptor

[Source]

This will raise an error if the FileStat capability isn't available or the file descriptor is invalid.

new val _descriptor(
  fd: I32 val,
  path: FilePath val)
: FileInfo val^ ?

Parameters

Returns

_relative

[Source]

new val _relative(
  fd: I32 val,
  path: FilePath val,
  from: String val)
: FileInfo val^ ?

Parameters

Returns

Public fields

let filepath: FilePath val

[Source]

let mode: FileMode val

[Source]

UNIX-style file mode.

[Source]

Number of hardlinks to this filepath.

let device: U64 val

[Source]

OS id of the device containing this filepath. Device IDs consist of a major and minor device id, denoting the type of device and the instance of this type on the system.

let inode: U64 val

[Source]

UNIX specific INODE number of filepath. Is 0 on Windows.

let uid: U32 val

[Source]

UNIX-style user ID of the owner of filepath.

let gid: U32 val

[Source]

UNIX-style user ID of the owning group of filepath.

let size: USize val

[Source]

Total size of filepath in bytes.

In case of a symlink this is the size of the target, not the symlink itself.

let access_time: (I64 val , I64 val)

[Source]

Time of last access as a tuple of seconds and nanoseconds since the epoch:

(let a_secs: I64, let a_nanos: I64) = file_info.access_time

let modified_time: (I64 val , I64 val)

[Source]

Time of last modification as tuple of seconds and nanoseconds since the epoch:

(let m_secs: I64, let m_nanos: I64) = file_info.modified_time

let change_time: (I64 val , I64 val)

[Source]

Time of the last change either the attributes (number of links, owner, group, file mode, ...) or the content of filepath as a tuple of seconds and nanoseconds since the epoch:

(let c_secs: I64, let c_nanos: I64) = file_info.change_time

On Windows this will be the file creation time.

let file: Bool val

[Source]

true if filepath points to an a regular file.

let directory: Bool val

[Source]

true if filepath points to a directory.

let pipe: Bool val

[Source]

true if filepath points to a named pipe.

[Source]

true if filepath points to a symbolic link.

let broken: Bool val

[Source]

true if filepath points to a broken symlink.

© 2016-2018, The Pony Developers
© 2014-2015, Causality Ltd.
Licensed under the BSD 2-Clause License.
https://stdlib.ponylang.io/files-FileInfo