vsi_read_dir()
abstracts access to directory contents. It returns a
character vector containing the names of files and directories in this
directory. With recursive = TRUE
, reads the list of entries in the
directory and subdirectories.
This function is a wrapper for VSIReadDirEx()
and VSIReadDirRecursive()
in the GDAL Common Portability Library.
Arguments
- path
Character string. The relative or absolute path of a directory to read.
- max_files
Integer scalar. The maximum number of files after which to stop, or 0 for no limit (see Note). Ignored if
recursive = TRUE
.- recursive
Logical scalar.
TRUE
to read the directory and its subdirectories. Defaults toFALSE
.
Value
A character vector containing the names of files and directories
in the directory given by path
. An empty string (""
) is returned if
path
does not exist.
Note
If max_files
is set to a positive number, directory listing will stop
after that limit has been reached. Note that to indicate truncation, at
least one element more than the max_files
limit will be returned. If the
length of the returned character vector is lesser or equal to max_files
,
then no truncation occurred. The max_files
parameter is ignored when
recursive = TRUE
.
Examples
# regular file system for illustration
data_dir <- system.file("extdata", package="gdalraster")
vsi_read_dir(data_dir)
#> [1] "sr_b6_20200829.tif" "metadata.zip"
#> [3] "test.geojson" ".."
#> [5] "storml_evc.tif" "int64.tif"
#> [7] "storm_lake.lcp" "."
#> [9] "LF20_EVH_220.csv" "storm_lake.prj"
#> [11] "LF20_EVC_220.csv" "ynp_fires_1984_2022.gpkg"
#> [13] "LF20_F40_220.csv" "storml_evt.tif"
#> [15] "storml_pts.csv" "sr_b4_20200829.tif"
#> [17] "storml_elev.tif" "storml_tcc.tif"
#> [19] "sr_b5_20200829.tif" "storml_evh.tif"
#> [21] "LF20_EVT_220.csv"