> ## Documentation Index
> Fetch the complete documentation index at: https://docs.kinetica.com/llms.txt
> Use this file to discover all available pages before exploring further.

# KifsFileHandler

> KifsFileHandler — Kinetica Rust API

[gpudb\_api](https://docs.kinetica.com/content/api/rust/index.md)::<wbr />[filesystem](https://docs.kinetica.com/content/api/rust/filesystem/index.md)
[Source](https://github.com/kineticadb/kinetica-api-rust/blob/master/crates/gpudb-api/src/filesystem/handler.rs#L57-L62)&#x20;

<pre>`pub struct KifsFileHandler { /* private fields */ }`</pre>

Main class for interacting with the Kinetica File System (KiFS).This handler provides a high-level API for file uploads, downloads, directory management, and file operations.

## Example

```rust theme={null}
use gpudb_api::{Kinetica, KineticaOptions};
use gpudb_api::filesystem::{KifsFileHandler, KifsFileHandlerOptions};
use std::sync::Arc;

let kinetica = Arc::new(
    Kinetica::new(vec!["http://localhost:9191".to_string()], KineticaOptions::new()).await?
);

let handler = KifsFileHandler::new(kinetica, None);

// Create a directory
handler.create_directory("my_dir", true).await?;

// Upload files
handler.upload("/path/to/*.csv", "my_dir", None, None).await?;

// List files
let files = handler.show_files(vec!["my_dir".to_string()]).await?;
println!("Found {} files", files.len());

// Delete directory
handler.delete_directory("my_dir", true, true).await?;
```

## Implementations

[Source](https://github.com/kineticadb/kinetica-api-rust/blob/master/crates/gpudb-api/src/filesystem/handler.rs#L64-L785)
impl [KifsFileHandler](https://docs.kinetica.com/content/api/rust/filesystem/struct.KifsFileHandler.md)

[Source](https://github.com/kineticadb/kinetica-api-rust/blob/master/crates/gpudb-api/src/filesystem/handler.rs#L71-L76)
pub fn [new](#method.new)(db: [Arc](https://doc.rust-lang.org/1.98.1/alloc/sync/struct.Arc.html)\<[Kinetica](https://docs.kinetica.com/content/api/rust/gpudb/struct.Kinetica.md)>, options: [Option](https://doc.rust-lang.org/1.98.1/core/option/enum.Option.html)\<[KifsFileHandlerOptions](https://docs.kinetica.com/content/api/rust/filesystem/struct.KifsFileHandlerOptions.md)>) -> Self

Creates a new KiFS file handler.

##### Arguments

<ul>
  <li>`db` - The Kinetica client instance</li>
  <li>`options` - Optional file handler options (uses defaults if None)</li>
</ul>

[Source](https://github.com/kineticadb/kinetica-api-rust/blob/master/crates/gpudb-api/src/filesystem/handler.rs#L79-L81)
pub fn [options](#method.options)(\&self) -> &[KifsFileHandlerOptions](https://docs.kinetica.com/content/api/rust/filesystem/struct.KifsFileHandlerOptions.md)

Returns the file handler options.

[Source](https://github.com/kineticadb/kinetica-api-rust/blob/master/crates/gpudb-api/src/filesystem/handler.rs#L84-L86)
pub fn [default\_thread\_pool\_termination\_timeout](#method.default_thread_pool_termination_timeout)() -> [i32](https://doc.rust-lang.org/1.98.1/std/primitive.i32.html)

The default thread pool termination timeout, in seconds.

[Source](https://github.com/kineticadb/kinetica-api-rust/blob/master/crates/gpudb-api/src/filesystem/handler.rs#L89-L91)
pub fn [default\_full\_file\_dispatcher\_threadpool\_size](#method.default_full_file_dispatcher_threadpool_size)() -> [i32](https://doc.rust-lang.org/1.98.1/std/primitive.i32.html)

The default number of full-file upload batches sent concurrently.

[Source](https://github.com/kineticadb/kinetica-api-rust/blob/master/crates/gpudb-api/src/filesystem/handler.rs#L126-L135)
pub async fn [upload](#method.upload)( \&self, file\_name: &[str](https://doc.rust-lang.org/1.98.1/std/primitive.str.html), remote\_dir\_name: &[str](https://doc.rust-lang.org/1.98.1/std/primitive.str.html), upload\_options: [Option](https://doc.rust-lang.org/1.98.1/core/option/enum.Option.html)\<[UploadOptions](https://docs.kinetica.com/content/api/rust/filesystem/struct.UploadOptions.md)>, callback: [Option](https://doc.rust-lang.org/1.98.1/core/option/enum.Option.html)\<\&dyn [FileUploadListener](https://docs.kinetica.com/content/api/rust/filesystem/trait.FileUploadListener.md)>, ) -> [Result](https://doc.rust-lang.org/1.98.1/core/result/enum.Result.html)\<[Vec](https://doc.rust-lang.org/1.98.1/alloc/vec/struct.Vec.html)\<[OperationResult](https://docs.kinetica.com/content/api/rust/filesystem/struct.OperationResult.md)>, [KineticaError](https://docs.kinetica.com/content/api/rust/errors/enum.KineticaError.md)>

Uploads a single file from a local path to a KiFS directory.

##### Arguments

<ul>
  <li>`file_name` - Name and path of the file (or glob pattern) to upload</li>
  <li>`remote_dir_name` - Name of the KiFS directory to upload to</li>
  <li>`upload_options` - Optional upload options (uses defaults if None)</li>
  <li>`callback` - Optional listener for progress callbacks</li>
</ul>

##### Returns

A vector of `OperationResult` for each file processed (successful or failed).

##### Errors

Returns an aggregated error containing all failure messages if any files fail to upload. The operation continues processing remaining files even when individual uploads fail.

##### Example

```rust theme={null}
// Upload a single file
let results = handler.upload("/path/to/file.csv", "my_dir", None, None).await?;

// Upload with glob pattern
let results = handler.upload("/data/**/*.json", "my_dir", None, None).await?;
```

[Source](https://github.com/kineticadb/kinetica-api-rust/blob/master/crates/gpudb-api/src/filesystem/handler.rs#L154-L211)
pub async fn [upload\_multiple](#method.upload_multiple)( \&self, file\_names: [Vec](https://doc.rust-lang.org/1.98.1/alloc/vec/struct.Vec.html)\<[String](https://doc.rust-lang.org/1.98.1/alloc/string/struct.String.html)>, remote\_dir\_name: &[str](https://doc.rust-lang.org/1.98.1/std/primitive.str.html), upload\_options: [Option](https://doc.rust-lang.org/1.98.1/core/option/enum.Option.html)\<[UploadOptions](https://docs.kinetica.com/content/api/rust/filesystem/struct.UploadOptions.md)>, callback: [Option](https://doc.rust-lang.org/1.98.1/core/option/enum.Option.html)\<\&dyn [FileUploadListener](https://docs.kinetica.com/content/api/rust/filesystem/trait.FileUploadListener.md)>, ) -> [Result](https://doc.rust-lang.org/1.98.1/core/result/enum.Result.html)\<[Vec](https://doc.rust-lang.org/1.98.1/alloc/vec/struct.Vec.html)\<[OperationResult](https://docs.kinetica.com/content/api/rust/filesystem/struct.OperationResult.md)>, [KineticaError](https://docs.kinetica.com/content/api/rust/errors/enum.KineticaError.md)>

Uploads multiple files to a KiFS directory.

##### Arguments

<ul>
  <li>`file_names` - Names and paths of the files (or glob patterns) to upload</li>
  <li>`remote_dir_name` - Name of the KiFS directory to upload to</li>
  <li>`upload_options` - Optional upload options (uses defaults if None)</li>
  <li>`callback` - Optional listener for progress callbacks</li>
</ul>

##### Returns

A vector of `OperationResult` for each file processed (successful or failed).

##### Errors

Returns an aggregated error containing all failure messages if any files fail to upload. The operation continues processing remaining files even when individual uploads fail.

[Source](https://github.com/kineticadb/kinetica-api-rust/blob/master/crates/gpudb-api/src/filesystem/handler.rs#L232-L246)
pub async fn [download](#method.download)( \&self, file\_name: &[str](https://doc.rust-lang.org/1.98.1/std/primitive.str.html), local\_dir\_name: &[str](https://doc.rust-lang.org/1.98.1/std/primitive.str.html), download\_options: [Option](https://doc.rust-lang.org/1.98.1/core/option/enum.Option.html)\<[DownloadOptions](https://docs.kinetica.com/content/api/rust/filesystem/struct.DownloadOptions.md)>, callback: [Option](https://doc.rust-lang.org/1.98.1/core/option/enum.Option.html)\<\&dyn [FileDownloadListener](https://docs.kinetica.com/content/api/rust/filesystem/trait.FileDownloadListener.md)>, ) -> [Result](https://doc.rust-lang.org/1.98.1/core/result/enum.Result.html)\<[Vec](https://doc.rust-lang.org/1.98.1/alloc/vec/struct.Vec.html)\<[OperationResult](https://docs.kinetica.com/content/api/rust/filesystem/struct.OperationResult.md)>, [KineticaError](https://docs.kinetica.com/content/api/rust/errors/enum.KineticaError.md)>

Downloads a single KiFS file to a local directory.

##### Arguments

<ul>
  <li>`file_name` - Path of the KiFS file to download</li>
  <li>`local_dir_name` - Path of the local directory to download to</li>
  <li>`download_options` - Optional download options (uses defaults if None)</li>
  <li>`callback` - Optional listener for progress callbacks</li>
</ul>

##### Returns

A vector of `OperationResult` for each file processed (successful or failed).

##### Errors

Returns an aggregated error containing all failure messages if any files fail to download. The operation continues processing remaining files even when individual downloads fail.

[Source](https://github.com/kineticadb/kinetica-api-rust/blob/master/crates/gpudb-api/src/filesystem/handler.rs#L265-L312)
pub async fn [download\_multiple](#method.download_multiple)( \&self, file\_names: [Vec](https://doc.rust-lang.org/1.98.1/alloc/vec/struct.Vec.html)\<[String](https://doc.rust-lang.org/1.98.1/alloc/string/struct.String.html)>, local\_dir\_name: &[str](https://doc.rust-lang.org/1.98.1/std/primitive.str.html), download\_options: [Option](https://doc.rust-lang.org/1.98.1/core/option/enum.Option.html)\<[DownloadOptions](https://docs.kinetica.com/content/api/rust/filesystem/struct.DownloadOptions.md)>, callback: [Option](https://doc.rust-lang.org/1.98.1/core/option/enum.Option.html)\<\&dyn [FileDownloadListener](https://docs.kinetica.com/content/api/rust/filesystem/trait.FileDownloadListener.md)>, ) -> [Result](https://doc.rust-lang.org/1.98.1/core/result/enum.Result.html)\<[Vec](https://doc.rust-lang.org/1.98.1/alloc/vec/struct.Vec.html)\<[OperationResult](https://docs.kinetica.com/content/api/rust/filesystem/struct.OperationResult.md)>, [KineticaError](https://docs.kinetica.com/content/api/rust/errors/enum.KineticaError.md)>

Downloads multiple KiFS files to a local directory.

##### Arguments

<ul>
  <li>`file_names` - Paths of the KiFS files to download</li>
  <li>`local_dir_name` - Path of the local directory to download to</li>
  <li>`download_options` - Optional download options (uses defaults if None)</li>
  <li>`callback` - Optional listener for progress callbacks</li>
</ul>

##### Returns

A vector of `OperationResult` for each file processed (successful or failed).

##### Errors

Returns an aggregated error containing all failure messages if any files fail to download. The operation continues processing remaining files even when individual downloads fail.

[Source](https://github.com/kineticadb/kinetica-api-rust/blob/master/crates/gpudb-api/src/filesystem/handler.rs#L335-L362)
pub async fn [download\_dir](#method.download_dir)( \&self, remote\_dir\_name: &[str](https://doc.rust-lang.org/1.98.1/std/primitive.str.html), local\_dir\_name: &[str](https://doc.rust-lang.org/1.98.1/std/primitive.str.html), download\_options: [Option](https://doc.rust-lang.org/1.98.1/core/option/enum.Option.html)\<[DownloadOptions](https://docs.kinetica.com/content/api/rust/filesystem/struct.DownloadOptions.md)>, callback: [Option](https://doc.rust-lang.org/1.98.1/core/option/enum.Option.html)\<\&dyn [FileDownloadListener](https://docs.kinetica.com/content/api/rust/filesystem/trait.FileDownloadListener.md)>, ) -> [Result](https://doc.rust-lang.org/1.98.1/core/result/enum.Result.html)\<[Vec](https://doc.rust-lang.org/1.98.1/alloc/vec/struct.Vec.html)\<[OperationResult](https://docs.kinetica.com/content/api/rust/filesystem/struct.OperationResult.md)>, [KineticaError](https://docs.kinetica.com/content/api/rust/errors/enum.KineticaError.md)>

Downloads all files from a KiFS directory to a local directory.Each file keeps its path below the KiFS directory: `dir/a.csv` is saved as `<local dir>/a.csv`, and `dir/sub/x.csv` as `<local dir>/sub/x.csv`, its subdirectory made as needed.

##### Arguments

<ul>
  <li>`remote_dir_name` - Path of the KiFS directory to download</li>
  <li>`local_dir_name` - Path of the local directory to download to</li>
  <li>`download_options` - Optional download options (uses defaults if None)</li>
  <li>`callback` - Optional listener for progress callbacks</li>
</ul>

##### Returns

A vector of `OperationResult` for each file processed (successful or failed).

##### Errors

Returns an aggregated error containing all failure messages if any files fail to download. The operation continues processing remaining files even when individual downloads fail.

[Source](https://github.com/kineticadb/kinetica-api-rust/blob/master/crates/gpudb-api/src/filesystem/handler.rs#L378-L411)
pub async fn [ingest](#method.ingest)( \&self, file\_names: [Vec](https://doc.rust-lang.org/1.98.1/alloc/vec/struct.Vec.html)\<[String](https://doc.rust-lang.org/1.98.1/alloc/string/struct.String.html)>, table\_name: &[str](https://doc.rust-lang.org/1.98.1/std/primitive.str.html), ingest\_options: [Option](https://doc.rust-lang.org/1.98.1/core/option/enum.Option.html)\<[IngestOptions](https://docs.kinetica.com/content/api/rust/filesystem/struct.IngestOptions.md)>, create\_table\_options: [Option](https://doc.rust-lang.org/1.98.1/core/option/enum.Option.html)\<[TableCreationOptions](https://docs.kinetica.com/content/api/rust/filesystem/struct.TableCreationOptions.md)>, ) -> [Result](https://doc.rust-lang.org/1.98.1/core/result/enum.Result.html)\<[IngestResult](https://docs.kinetica.com/content/api/rust/filesystem/struct.IngestResult.md), [KineticaError](https://docs.kinetica.com/content/api/rust/errors/enum.KineticaError.md)>

Uploads local files and inserts their records into `table_name`.The files, which may be glob patterns, are uploaded to a directory of their own under the user’s KiFS home directory, inserted from there with `/insert/records/fromfiles` and the options given, and the directory is deleted afterwards.

##### Errors

Fails if no file is named, a name is empty, or a file named (not a pattern) does not exist; and with the upload’s or the insert’s error if either fails.

[Source](https://github.com/kineticadb/kinetica-api-rust/blob/master/crates/gpudb-api/src/filesystem/handler.rs#L421-L439)
pub async fn [delete\_files](#method.delete_files)( \&self, file\_names: [Vec](https://doc.rust-lang.org/1.98.1/alloc/vec/struct.Vec.html)\<[String](https://doc.rust-lang.org/1.98.1/alloc/string/struct.String.html)>, no\_error\_if\_not\_exists: [bool](https://doc.rust-lang.org/1.98.1/std/primitive.bool.html), ) -> [Result](https://doc.rust-lang.org/1.98.1/core/result/enum.Result.html)\<[()](https://doc.rust-lang.org/1.98.1/std/primitive.unit.html), [KineticaError](https://docs.kinetica.com/content/api/rust/errors/enum.KineticaError.md)>

Deletes the given list of KiFS file paths.

##### Arguments

<ul>
  <li>`file_names` - List of files in KiFS to delete</li>
  <li>`no_error_if_not_exists` - Whether to suppress errors if files don’t exist</li>
</ul>

[Source](https://github.com/kineticadb/kinetica-api-rust/blob/master/crates/gpudb-api/src/filesystem/handler.rs#L450-L463)
pub async fn [delete\_files\_in\_dir](#method.delete_files_in_dir)( \&self, remote\_dir\_name: &[str](https://doc.rust-lang.org/1.98.1/std/primitive.str.html), no\_error\_if\_not\_exists: [bool](https://doc.rust-lang.org/1.98.1/std/primitive.bool.html), ) -> [Result](https://doc.rust-lang.org/1.98.1/core/result/enum.Result.html)\<[()](https://doc.rust-lang.org/1.98.1/std/primitive.unit.html), [KineticaError](https://docs.kinetica.com/content/api/rust/errors/enum.KineticaError.md)>

Deletes files in the given KiFS directory.The files found are deleted with one `/delete/files` request, sent even when there are none.

##### Arguments

<ul>
  <li>`remote_dir_name` - Name of the KiFS directory containing files to delete</li>
  <li>`no_error_if_not_exists` - Whether to suppress errors if the directory doesn’t exist</li>
</ul>

[Source](https://github.com/kineticadb/kinetica-api-rust/blob/master/crates/gpudb-api/src/filesystem/handler.rs#L474-L500)
pub async fn [show\_files](#method.show_files)( \&self, remote\_paths: [Vec](https://doc.rust-lang.org/1.98.1/alloc/vec/struct.Vec.html)\<[String](https://doc.rust-lang.org/1.98.1/alloc/string/struct.String.html)>, ) -> [Result](https://doc.rust-lang.org/1.98.1/core/result/enum.Result.html)\<[Vec](https://doc.rust-lang.org/1.98.1/alloc/vec/struct.Vec.html)\<[KifsFileInfo](https://docs.kinetica.com/content/api/rust/filesystem/struct.KifsFileInfo.md)>, [KineticaError](https://docs.kinetica.com/content/api/rust/errors/enum.KineticaError.md)>

Returns statistics about the given KiFS files and/or directories.

##### Arguments

<ul>
  <li>`remote_paths` - List of KiFS files and/or directory names</li>
</ul>

##### Returns

List of `KifsFileInfo` objects containing statistics about the files.

[Source](https://github.com/kineticadb/kinetica-api-rust/blob/master/crates/gpudb-api/src/filesystem/handler.rs#L510-L528)
pub async fn [create\_directory](#method.create_directory)( \&self, remote\_dir\_name: &[str](https://doc.rust-lang.org/1.98.1/std/primitive.str.html), no\_error\_if\_exists: [bool](https://doc.rust-lang.org/1.98.1/std/primitive.bool.html), ) -> [Result](https://doc.rust-lang.org/1.98.1/core/result/enum.Result.html)\<[()](https://doc.rust-lang.org/1.98.1/std/primitive.unit.html), [KineticaError](https://docs.kinetica.com/content/api/rust/errors/enum.KineticaError.md)>

Creates a KiFS directory with the given name.

##### Arguments

<ul>
  <li>`remote_dir_name` - Name of the KiFS directory to create</li>
  <li>`no_error_if_exists` - Whether to suppress an error if the directory already exists</li>
</ul>

[Source](https://github.com/kineticadb/kinetica-api-rust/blob/master/crates/gpudb-api/src/filesystem/handler.rs#L537-L560)
pub async fn [delete\_directory](#method.delete_directory)( \&self, remote\_dir\_name: &[str](https://doc.rust-lang.org/1.98.1/std/primitive.str.html), recursive: [bool](https://doc.rust-lang.org/1.98.1/std/primitive.bool.html), no\_error\_if\_not\_exists: [bool](https://doc.rust-lang.org/1.98.1/std/primitive.bool.html), ) -> [Result](https://doc.rust-lang.org/1.98.1/core/result/enum.Result.html)\<[()](https://doc.rust-lang.org/1.98.1/std/primitive.unit.html), [KineticaError](https://docs.kinetica.com/content/api/rust/errors/enum.KineticaError.md)>

Deletes the given KiFS directory.

##### Arguments

<ul>
  <li>`remote_dir_name` - Name of the KiFS directory to delete</li>
  <li>`recursive` - Whether to delete all files and subdirectories</li>
  <li>`no_error_if_not_exists` - Whether to suppress an error if the directory doesn’t exist</li>
</ul>

[Source](https://github.com/kineticadb/kinetica-api-rust/blob/master/crates/gpudb-api/src/filesystem/handler.rs#L568-L573)
pub async fn [show\_directories](#method.show_directories)( \&self, remote\_dir\_names: [Vec](https://doc.rust-lang.org/1.98.1/alloc/vec/struct.Vec.html)\<[String](https://doc.rust-lang.org/1.98.1/alloc/string/struct.String.html)>, ) -> [Result](https://doc.rust-lang.org/1.98.1/core/result/enum.Result.html)\<[Vec](https://doc.rust-lang.org/1.98.1/alloc/vec/struct.Vec.html)\<[KifsDirectoryInfo](https://docs.kinetica.com/content/api/rust/filesystem/struct.KifsDirectoryInfo.md)>, [KineticaError](https://docs.kinetica.com/content/api/rust/errors/enum.KineticaError.md)>

Returns statistics about the given KiFS directories: one entry for each.

##### Arguments

<ul>
  <li>`remote_dir_names` - List of KiFS directory names</li>
</ul>

[Source](https://github.com/kineticadb/kinetica-api-rust/blob/master/crates/gpudb-api/src/filesystem/handler.rs#L577-L619)
pub async fn [show\_directories\_with\_options](#method.show_directories_with_options)( \&self, remote\_dir\_names: [Vec](https://doc.rust-lang.org/1.98.1/alloc/vec/struct.Vec.html)\<[String](https://doc.rust-lang.org/1.98.1/alloc/string/struct.String.html)>, options: [HashMap](https://doc.rust-lang.org/1.98.1/std/collections/hash/map/struct.HashMap.html)\<[String](https://doc.rust-lang.org/1.98.1/alloc/string/struct.String.html), [String](https://doc.rust-lang.org/1.98.1/alloc/string/struct.String.html)>, ) -> [Result](https://doc.rust-lang.org/1.98.1/core/result/enum.Result.html)\<[Vec](https://doc.rust-lang.org/1.98.1/alloc/vec/struct.Vec.html)\<[KifsDirectoryInfo](https://docs.kinetica.com/content/api/rust/filesystem/struct.KifsDirectoryInfo.md)>, [KineticaError](https://docs.kinetica.com/content/api/rust/errors/enum.KineticaError.md)>

Returns statistics about the given KiFS directories, one entry for each, passing `options` to each `/show/directories`.

[Source](https://github.com/kineticadb/kinetica-api-rust/blob/master/crates/gpudb-api/src/filesystem/handler.rs#L630-L632)
pub async fn [show\_directory](#method.show_directory)( \&self, remote\_dir\_name: &[str](https://doc.rust-lang.org/1.98.1/std/primitive.str.html), ) -> [Result](https://doc.rust-lang.org/1.98.1/core/result/enum.Result.html)\<[Vec](https://doc.rust-lang.org/1.98.1/alloc/vec/struct.Vec.html)\<[KifsDirectoryInfo](https://docs.kinetica.com/content/api/rust/filesystem/struct.KifsDirectoryInfo.md)>, [KineticaError](https://docs.kinetica.com/content/api/rust/errors/enum.KineticaError.md)>

Returns statistics about a single KiFS directory.

##### Arguments

<ul>
  <li>`remote_dir_name` - Name of the KiFS directory</li>
</ul>

##### Returns

List of `KifsDirectoryInfo` objects (may include subdirectories).

[Source](https://github.com/kineticadb/kinetica-api-rust/blob/master/crates/gpudb-api/src/filesystem/handler.rs#L636-L647)
pub async fn [show\_directory\_with\_options](#method.show_directory_with_options)( \&self, remote\_dir\_name: &[str](https://doc.rust-lang.org/1.98.1/std/primitive.str.html), options: [HashMap](https://doc.rust-lang.org/1.98.1/std/collections/hash/map/struct.HashMap.html)\<[String](https://doc.rust-lang.org/1.98.1/alloc/string/struct.String.html), [String](https://doc.rust-lang.org/1.98.1/alloc/string/struct.String.html)>, ) -> [Result](https://doc.rust-lang.org/1.98.1/core/result/enum.Result.html)\<[Vec](https://doc.rust-lang.org/1.98.1/alloc/vec/struct.Vec.html)\<[KifsDirectoryInfo](https://docs.kinetica.com/content/api/rust/filesystem/struct.KifsDirectoryInfo.md)>, [KineticaError](https://docs.kinetica.com/content/api/rust/errors/enum.KineticaError.md)>

Returns statistics about a single KiFS directory, passing `options` to `/show/directories`.

[Source](https://github.com/kineticadb/kinetica-api-rust/blob/master/crates/gpudb-api/src/filesystem/handler.rs#L654-L656)
pub async fn [show\_all\_directories](#method.show_all_directories)( \&self, ) -> [Result](https://doc.rust-lang.org/1.98.1/core/result/enum.Result.html)\<[Vec](https://doc.rust-lang.org/1.98.1/alloc/vec/struct.Vec.html)\<[KifsDirectoryInfo](https://docs.kinetica.com/content/api/rust/filesystem/struct.KifsDirectoryInfo.md)>, [KineticaError](https://docs.kinetica.com/content/api/rust/errors/enum.KineticaError.md)>

Returns statistics about all KiFS directories.

##### Returns

List of `KifsDirectoryInfo` objects for all directories.

[Source](https://github.com/kineticadb/kinetica-api-rust/blob/master/crates/gpudb-api/src/filesystem/handler.rs#L660-L665)
pub async fn [show\_all\_directories\_with\_options](#method.show_all_directories_with_options)( \&self, options: [HashMap](https://doc.rust-lang.org/1.98.1/std/collections/hash/map/struct.HashMap.html)\<[String](https://doc.rust-lang.org/1.98.1/alloc/string/struct.String.html), [String](https://doc.rust-lang.org/1.98.1/alloc/string/struct.String.html)>, ) -> [Result](https://doc.rust-lang.org/1.98.1/core/result/enum.Result.html)\<[Vec](https://doc.rust-lang.org/1.98.1/alloc/vec/struct.Vec.html)\<[KifsDirectoryInfo](https://docs.kinetica.com/content/api/rust/filesystem/struct.KifsDirectoryInfo.md)>, [KineticaError](https://docs.kinetica.com/content/api/rust/errors/enum.KineticaError.md)>

Returns statistics about all KiFS directories, passing `options` to `/show/directories`.

[Source](https://github.com/kineticadb/kinetica-api-rust/blob/master/crates/gpudb-api/src/filesystem/handler.rs#L705-L723)
pub async fn [kifs\_directory\_exists](#method.kifs_directory_exists)(\&self, dir\_name: &[str](https://doc.rust-lang.org/1.98.1/std/primitive.str.html)) -> [bool](https://doc.rust-lang.org/1.98.1/std/primitive.bool.html)

Checks whether the given KiFS directory exists.

##### Arguments

<ul>
  <li>`dir_name` - The full KiFS directory path to check</li>
</ul>

##### Returns

`true` if the directory exists, `false` otherwise.

[Source](https://github.com/kineticadb/kinetica-api-rust/blob/master/crates/gpudb-api/src/filesystem/handler.rs#L734-L755)
pub async fn [kifs\_directories\_exist](#method.kifs_directories_exist)(\&self, dir\_names: &\[[String](https://doc.rust-lang.org/1.98.1/alloc/string/struct.String.html)]) -> [bool](https://doc.rust-lang.org/1.98.1/std/primitive.bool.html)

Checks whether the given KiFS directories exist.

##### Arguments

<ul>
  <li>`dir_names` - The set of full KiFS directory paths to check</li>
</ul>

##### Returns

`true` if all directories exist, `false` otherwise.

[Source](https://github.com/kineticadb/kinetica-api-rust/blob/master/crates/gpudb-api/src/filesystem/handler.rs#L766-L784)
pub async fn [kifs\_file\_exists](#method.kifs_file_exists)(\&self, file\_name: &[str](https://doc.rust-lang.org/1.98.1/std/primitive.str.html)) -> [bool](https://doc.rust-lang.org/1.98.1/std/primitive.bool.html)

Checks whether the given KiFS file exists.

##### Arguments

<ul>
  <li>`file_name` - The full KiFS file path to check</li>
</ul>

##### Returns

`true` if the file exists, `false` otherwise.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.