Skip to content
View as Markdown

File system operations facade for a specific Sandbox.

Provides methods for directory management, file upload/download, metadata inspection, and search/replace operations.

public void createFolder(String path, String mode)

Creates a directory in the Sandbox.

Parameters:

  • path String - directory path
  • mode String - POSIX mode (for example 755); defaults to 755 when null

Throws:

  • io.daytona.sdk.exception.DaytonaException - if creation fails
public void deleteFile(String path)

Deletes a file.

Parameters:

  • path String - file path to delete

Throws:

  • io.daytona.sdk.exception.DaytonaException - if deletion fails
public byte[] downloadFile(String remotePath)

Downloads a file into memory.

Parameters:

  • remotePath String - source file path in the Sandbox

Returns:

  • byte[] - file bytes; empty array when no file payload is returned

Throws:

  • io.daytona.sdk.exception.DaytonaException - if download or local read fails
public InputStream downloadFileStream(String remotePath) throws io.daytona.sdk.exception.DaytonaException

Downloads a single file from the Sandbox as a stream without buffering the entire file into memory. The returned InputStream can be piped directly to an HTTP response, written to a file, or processed on the fly.

The caller is responsible for closing the returned stream.

Parameters:

  • remotePath String - source file path in the Sandbox

Returns:

  • InputStream - an InputStream streaming the file content

Throws:

  • io.daytona.sdk.exception.DaytonaException - if the file does not exist or access is denied
public InputStream downloadFileStream(String remotePath, int timeoutSeconds) throws io.daytona.sdk.exception.DaytonaException

Downloads a single file from the Sandbox as a stream without buffering the entire file into memory, with a custom timeout.

The caller is responsible for closing the returned stream.

Parameters:

  • remotePath String - source file path in the Sandbox
  • timeoutSeconds int - timeout in seconds; 0 means no timeout

Returns:

  • InputStream - an InputStream streaming the file content

Throws:

  • io.daytona.sdk.exception.DaytonaException - if the file does not exist or access is denied
public InputStream downloadFileStream(String remotePath, DownloadStreamOptions options) throws io.daytona.sdk.exception.DaytonaException

Downloads a single file from the Sandbox as a stream with configurable options.

Parameters:

  • remotePath String - source file path in the Sandbox
  • options DownloadStreamOptions - download options including timeout and progress callback

Returns:

  • InputStream - an InputStream streaming the file content

Throws:

  • io.daytona.sdk.exception.DaytonaException - if download fails
public void uploadFile(byte[] content, String remotePath)

Uploads in-memory file content to a Sandbox path.

Parameters:

  • content byte[] - file bytes; null uploads an empty file
  • remotePath String - destination file path in the Sandbox

Throws:

  • io.daytona.sdk.exception.DaytonaException - if upload fails
public void uploadFileStream(InputStream source, String remotePath, UploadStreamOptions options)

Streams an upload to a Sandbox path without buffering the source. The bytes are piped through a progress-counting wrapper directly into a streaming multipart request, so heap usage stays flat regardless of source size.

Parameters:

  • source InputStream - the data source; the caller retains ownership and is responsible for closing it
  • remotePath String - destination file path in the Sandbox
  • options UploadStreamOptions - upload options including timeout, cancellation, and progress callback

Throws:

  • io.daytona.sdk.exception.DaytonaException - if upload fails
public void uploadFileStream(InputStream source, String remotePath)

Convenience overload using default options.

Parameters:

  • source InputStream -
  • remotePath String -
public List<FileInfo> listFiles(String path)

Lists files and directories under a path.

Parameters:

  • path String - directory path

Returns:

  • List\<FileInfo\> - file metadata entries

Throws:

  • io.daytona.sdk.exception.DaytonaException - if listing fails
public FileInfo getFileDetails(String path)

Returns metadata for a single file or directory.

Parameters:

  • path String - file or directory path

Returns:

  • FileInfo - metadata record

Throws:

  • io.daytona.sdk.exception.DaytonaException - if lookup fails
public List<Map<String, Object>> findFiles(String path, String pattern)

Searches files by content pattern.

Parameters:

  • path String - root directory to search
  • pattern String - text pattern to find

Returns:

  • List\<Map\<String, Object\>\> - list of matches containing file, line, and content

Throws:

  • io.daytona.sdk.exception.DaytonaException - if the search request fails
public Map<String, Object> searchFiles(String path, String pattern)

Searches files by file-name pattern.

Parameters:

  • path String - root directory to search
  • pattern String - file-name pattern

Returns:

  • Map\<String, Object\> - result map containing files

Throws:

  • io.daytona.sdk.exception.DaytonaException - if the search request fails
public void replaceInFiles(List<String> files, String pattern, String newValue)

Performs in-place replacement in multiple files.

Parameters:

  • files List<String> - files to process
  • pattern String - pattern to replace
  • newValue String - replacement text

Throws:

  • io.daytona.sdk.exception.DaytonaException - if replacement fails
public void moveFiles(String source, String destination)

Moves or renames a file or directory.

Parameters:

  • source String - source path
  • destination String - destination path

Throws:

  • io.daytona.sdk.exception.DaytonaException - if move fails