docs / stdlib / io / file

Stdlib index
  1. Overview
  1. Captured-borrow migration worklist (3.3.3)
  2. Owned-bind migration worklist (8.2.7)
  3. Return-side title audit — the ride-through enumeration
  4. stdlib ownership audit
  5. stdlib ownership dispositions (plan 1.3.1 / 4.3.1)

aot

  1. Components
  2. Scope
  3. Scoped

codec

  1. Base32
  2. Base64

codec / csv

  1. Csv

codec / json

  1. Json

collection

  1. ArrayList
  2. BPlusTree
  3. Cache
  4. Collectors
  5. HashMap
  6. HashSet
  7. Heap
  8. ImmutableList
  9. ImmutableMap
  10. ImmutableSet
  11. LinkedList
  12. RedBlackTree
  13. Sort

collection / ltm

  1. LtmBPlusTree

concurrent

  1. AtomicInt32
  2. AtomicInt64
  3. Channel
  4. Fiber
  5. FiberLocal
  6. Lock
  7. Mutex
  8. RwLock
  9. Semaphore
  10. Tasks

error

  1. Exception
  2. NoOptionalValueException
  3. NotProvidedException
  4. RecoverableException
  5. ScopedBuildFailedException
  6. ScopeNotActiveException
  7. Throwable
  8. UnrecoverableException

gfx

  1. Sampler
  2. Texture2D

hash

  1. DefaultHasher
  2. Hash
  3. SipHash
  4. XXHash3

ifx

  1. BackendRegistry
  2. Window

io

  1. Buffer

io / file

  1. File
  2. FileInfo
  3. FileReader
  4. FileWriter
  5. Path
  6. Watcher

io / net

  1. BufferPool
  2. ByteBuffer
  3. IpAddress
  4. Server
  5. ServerBuilder
  6. SocketAddress
  7. TcpListener
  8. TcpStream
  9. UdpSocket

io / net / dns

  1. Dns

io / net / uri

  1. Uri
  2. UriBuilder

lang

  1. Guid
  2. Math
  3. Optional
  4. Pair
  5. Slice
  6. String
  7. StringBuilder

lang / stream

  1. ArrayStream
  2. Stream

math

  1. Camera
  2. Color
  3. DType
  4. Ray
  5. Rotation
  6. Tensor
  7. Transform

math / fft

  1. Fft

math / linalg

  1. LinAlg

math / npio

  1. Npy

math / poly

  1. Poly

math / random

  1. Generator

math / stats

  1. Stats

nucleo

  1. Columns — the Arrow-laid-out substrate
  2. Fused tensor expressions — Fuse
  3. Table — the lazy, typed dataframe
  4. Tape — define-by-run autograd
  5. Transform intrinsics — Grad, Vmap, Jit

process

  1. Command
  2. Process

reflect

  1. Class

search / distance

  1. Distance

search / fuzzy

  1. Matcher

search / ngram

  1. Index

session

  1. PackageInstallException
  2. Packages

time

  1. Clock
  2. DateTimeFormatter
  3. Duration
  4. Instant
  5. LocalDate
  6. LocalDateTime
  7. LocalTime
  8. Period
  9. ZonedDateTime
  10. ZoneId
  11. ZoneOffset

wire

  1. Compressor
  2. CompressStream
  3. DecompressionLimitException
  4. Decompressor
  5. Encoder
  6. Schema
  7. SchemaEncoder

xpu

  1. Device
  2. KernelBuffer
  3. KernelStream
  4. KernelTimer

xpu / mesh

  1. MeshSimplifier

Path

cajeta.io.file.Path — immutable filesystem path. Wraps the raw OS-path bytes (UTF-8 octets, / separator on Linux) and offers pure-path queries (name, stem, extension, parent, isAbsolute), stat predicates (exists, isFile, isDir, isSymlink), join via resolve, and mutations (mkdirs, delete, symlinkTo, setExecutable, canonical). Build one from a String with the static factory Path.of(...).

Path p #= Path.of("/foo/bar/baz.txt");
String leaf #= p.name();          // "baz.txt"
String base #= p.stem();          // "baz"
String ext #= p.extension();      // "txt"
Path dir #= p.parent();           // "/foo/bar"
Path child #= dir.resolve("note.md");

Methods

Signature
Path(int8[] bytes)Construct from already-encoded OS bytes (the Path takes them); most code uses Path.of
static #Path of(String s) ⚑Construct from a String, copying its bytes into a fresh owned array
boolean isAbsolute()True if the path starts with /
boolean isRelative()Negation of isAbsolute(); an empty path is relative
#String name()Last segment, including extension
#String stem()Last segment without its trailing extension (single-dot strip: "archive.tar.gz" → "archive.tar")
#String extension()Last extension after the rightmost dot ("" when none; a leading-dot dotfile has no extension)
#Path parent()Everything before the last separator ("/foo" → "/"; no separator → "")
boolean exists()Stat predicate: the entry exists
boolean isFile()Stat predicate: regular file
boolean isDir()Stat predicate: directory
boolean isSymlink()Stat predicate: symbolic link
Path mkdirs()Create this path and every missing intermediate as directories (mkdir -p); idempotent, returns this for chaining
void delete()Remove this filesystem entry (unlink / rmdir; non-empty directories are an error)
boolean setExecutable()Add the executable bits (chmod a+x, preserving the other permission bits)
boolean symlinkTo(Path target)Create this path as a symbolic link pointing at target (ln -s target this); replaces an existing entry
#Path canonical()Resolved absolute path with symlinks walked (POSIX realpath(3))
#Path resolve(String segment)Append segment as a single path step, inserting / only when needed

⚑ = @EntryPoint

See also

Source: docs/stdlib/io/file/Path.md · 2 min read · 353 words