kotlinx-io icon indicating copy to clipboard operation
kotlinx-io copied to clipboard

Singular createDirectory

Open mgroth0 opened this issue 1 year ago • 1 comments
trafficstars

There only exists createDirectories but not a singular createDirectory. A singular createDirectory operation has the beneficial feature of a built in assertion that the parent folder already exists. Currently, I work round this with something like:

fun FileSystem.createDirectory(path: Path, mustCreate: Boolean = true) {
    check(exists(path.parent!!))
    createDirectories(path,mustCreate=mustCreate)
}

This is not ideal becasuse the operation now involves two IO instructions, when I would expect this to be a single IO instruction.

Is there a technical reason why this is difficult to implement, or is it by design?

mgroth0 avatar Mar 09 '24 17:03 mgroth0

No technical reasons not to have such a method (in fact, createDirectories creates directories one by one while climbing up parent paths chain). Current FS support was not properly designed, so it consists of some more or less randomly selected functions.

fzhinkin avatar Mar 18 '24 13:03 fzhinkin