path_type 3.0.1 copy "path_type: ^3.0.1" to clipboard
path_type: ^3.0.1 copied to clipboard

A path type providing a type-safe and cross-platform path abstraction for managing and manipulating file paths, supporting both POSIX and Windows file systems.

example/main.dart

import 'package:path_type/path_type.dart';

void main() {
  var path = UnixPath('/foo/bar/baz.txt');

  print('File name: ${path.fileName()}'); // Output: baz.txt
  print('Extension: ${path.extension()}'); // Output: txt
  print('Is absolute: ${path.isAbsolute()}'); // Output: true

  var parent = path.parent();
  if (parent != null) {
    print('Parent: $parent'); // Output: /foo/bar
  }

  var newPath = path.withExtension('md');
  print('New path with extension: $newPath'); // Output: /foo/bar/baz.md

  path = UnixPath('/foo/bar/baz.txt');

  if (path.existsSync()) {
    var metadata = path.metadataSync().unwrap();
    print('File size: ${metadata.size}');
    print('Last modified: ${metadata.modified}');
  } else {
    print('Path does not exist.');
  }

  path = UnixPath('/foo/bar/baz.txt');

  for (var ancestor in path.ancestors()) {
    print(ancestor);
    // Output:
    // /foo/bar/baz.txt
    // /foo/bar
    // /foo
    // /
  }

  path = UnixPath('/foo/bar/baz.txt');
  var components = path.components().toList();

  for (var component in components) {
    print(component); // Output: /, foo, bar, baz.txt
  }

  UnixPath path1 = UnixPath('/foo/bar');
  UnixPath path2 = 'bar'.asUnixPath();
  UnixPath path3 = './baz.txt' as UnixPath;

  path = path1.join(path2).join(path3);
  print(path); // Output: /foo/bar/bar/./baz.txt
}
copied to clipboard
6
likes
160
points
86
downloads

Publisher

verified publishervoyver.com

Weekly Downloads

2024.09.22 - 2025.04.06

A path type providing a type-safe and cross-platform path abstraction for managing and manipulating file paths, supporting both POSIX and Windows file systems.

Repository (GitHub)

Documentation

API reference

License

Apache-2.0 (license)

Dependencies

rust

More

Packages that depend on path_type