# Struct std::fs::Metadata [−] [src]

    pub struct Metadata(_);

Metadata information about a file.

This structure is returned from the `metadata` function or method and represents known metadata about a file such as its permissions, size, modification times, etc.

## Methods

### `impl Metadata`

#### `fn file_type(&self) -> FileType`

Returns the file type for this metadata.

#### `fn is_dir(&self) -> bool`

Returns whether this metadata is for a directory.

# Examples

fn main() { fn foo() -> std::io::Result<()> { use std::fs; let metadata = try!(fs::metadata("foo.txt")); assert!(!metadata.is_dir()); Ok(()) } }

    use std::fs;

    let metadata = try!(fs::metadata("foo.txt"));

    assert!(!metadata.is_dir());

#### `fn is_file(&self) -> bool`

Returns whether this metadata is for a regular file.

# Examples

fn main() { fn foo() -> std::io::Result<()> { use std::fs; let metadata = try!(fs::metadata("foo.txt")); assert!(metadata.is_file()); Ok(()) } }

    use std::fs;

    let metadata = try!(fs::metadata("foo.txt"));

    assert!(metadata.is_file());

#### `fn len(&self) -> u64`

Returns the size of the file, in bytes, this metadata is for.

# Examples

fn main() { fn foo() -> std::io::Result<()> { use std::fs; let metadata = try!(fs::metadata("foo.txt")); assert_eq!(0, metadata.len()); Ok(()) } }

    use std::fs;

    let metadata = try!(fs::metadata("foo.txt"));

    assert_eq!(0, metadata.len());

#### `fn permissions(&self) -> Permissions`

Returns the permissions of the file this metadata is for.

# Examples

fn main() { fn foo() -> std::io::Result<()> { use std::fs; let metadata = try!(fs::metadata("foo.txt")); assert!(!metadata.permissions().readonly()); Ok(()) } }

    use std::fs;

    let metadata = try!(fs::metadata("foo.txt"));

    assert!(!metadata.permissions().readonly());

## Trait Implementations

### `impl MetadataExt for Metadata`

#### `fn dev(&self) -> dev_t`

#### `fn ino(&self) -> ino_t`

#### `fn mode(&self) -> mode_t`

#### `fn nlink(&self) -> nlink_t`

#### `fn uid(&self) -> uid_t`

#### `fn gid(&self) -> gid_t`

#### `fn rdev(&self) -> dev_t`

#### `fn size(&self) -> off_t`

#### `fn atime(&self) -> time_t`

#### `fn atime_nsec(&self) -> c_long`

#### `fn mtime(&self) -> time_t`

#### `fn mtime_nsec(&self) -> c_long`

#### `fn ctime(&self) -> time_t`

#### `fn ctime_nsec(&self) -> c_long`

#### `fn blksize(&self) -> blksize_t`

#### `fn blocks(&self) -> blkcnt_t`

### `impl MetadataExt for Metadata`

#### `fn dev(&self) -> dev_t`

#### `fn ino(&self) -> ino_t`

#### `fn mode(&self) -> mode_t`

#### `fn nlink(&self) -> nlink_t`

#### `fn uid(&self) -> uid_t`

#### `fn gid(&self) -> gid_t`

#### `fn rdev(&self) -> dev_t`

#### `fn size(&self) -> off_t`

#### `fn atime(&self) -> time_t`

#### `fn atime_nsec(&self) -> c_long`

#### `fn mtime(&self) -> time_t`

#### `fn mtime_nsec(&self) -> c_long`

#### `fn ctime(&self) -> time_t`

#### `fn ctime_nsec(&self) -> c_long`

#### `fn blksize(&self) -> blksize_t`

#### `fn blocks(&self) -> blkcnt_t`

### `impl MetadataExt for Metadata`

#### `fn as_raw_stat(&self) -> &stat`

### Derived Implementations

### `impl Clone for Metadata`

#### `fn clone(&self) -> Metadata`

#### `fn clone_from(&mut self, source: &Self)`

# Help

## Keyboard Shortcuts

?
  Show this help dialog
S
  Focus the search field
⇤
  Move up in search results
⇥
  Move down in search results
⏎
  Go to active search result

## Search Tricks

Prefix searches with a type followed by a colon (e.g. `fn:`) to restrict the search to a given type.

Accepted types are: `fn`, `mod`, `struct`, `enum`, `trait`, `type`, `macro`, and `const`.

Search functions by type signature (e.g. `vec -> usize`)