Arguments$getWritablePathname

0th

Percentile

Gets a writable pathname

Gets a writable pathname.

Keywords
methods, internal, IO
Usage
## Static method (use this):
## Arguments$getWritablePathname(..., mustExist=FALSE, mustNotExist=FALSE, mkdirs=TRUE,
##   maxTries=5L)

## Don't use the below: ## S3 method for class 'Arguments': getWritablePathname(static, ..., mustExist=FALSE, mustNotExist=FALSE, mkdirs=TRUE, maxTries=5L)

Arguments
...
Arguments passed to *getReadablePathname().
mustExist
If TRUE and the pathname does not exists, an Exception is thrown, otherwise not.
mustNotExist
If the file exists, and mustNotExist is TRUE, an Exception is thrown. If the file exists, and mustNotExist is FALSE
mkdirs
If TRUE, mustNotExist is FALSE, and the path to the file does not exist, it is (recursively) created.
maxTries
A positive integer specifying how many times the method should try to create a missing directory before giving up.
Value

  • Returns a character string of the pathname of the file. If the argument was invalid an Exception is thrown.

Missing values

If any argument in ... is NA, an exception is thrown.

Slow file systems

On very rare occassions, we have observed on a large shared file system that if one tests for the existance of a directory immediately after creating it with dir.create(), it may appear not to be created. We believe this is due to the fact that there is a short delay between creating a directory and that information being fully propagated on the file system. To minimize the risk for such false assertions on "slow" file systems, this method tries to create a missing directory multiple times (argument maxTries) (while waiting a short period of time between each round) before giving up.

See Also

*getReadablePathname(). filePath. mkdirs. For more information see Arguments.

Aliases
  • Arguments$getWritablePathname
  • getWritablePathname.Arguments
  • Arguments.getWritablePathname
  • getWritablePathname,Arguments-method
Documentation reproduced from package R.utils, version 1.28.4, License: LGPL (>= 2.1)

Community examples

Looks like there are no examples yet.