DocumentFile API¶
File operations with SAF (Storage Access Framework) support for Android 4.4+.
Directory Operations¶
documentFileMkdir()¶
Create directory.
Parameters:
- Dir (str): Directory path
Returns: True if success
documentFileListFiles()¶
List files in directory.
Returns: List of files
File Operations¶
documentFileExists()¶
Check if file or directory exists.
Parameters:
- path (str): File or directory path
Returns: True if exists, False otherwise
documentFileIsFile()¶
Check if path is a file.
Parameters:
- path (str): Path to check
Returns: True if file, False if not a file, None if not exists
documentFileIsDirectory()¶
Check if path is a directory.
Parameters:
- path (str): Path to check
Returns: True if directory, False if not a directory, None if not exists
documentFileDelete()¶
Delete file or directory.
Returns: True if success
documentFileRenameTo()¶
Rename or move file.
Returns: True if success
documentFileCopy()¶
Copy file.
Stream Operations¶
documentFileInputStream()¶
Read file content.
Parameters:
- srcFile (str): Source file
- EncodingFormat (str): "UTF-8", "GBK", "Base64", or "" for bytes
- skip (int): Skip bytes from start
- length (int): Read length
Returns: File content
documentFileOutputStream()¶
Write file content.
Parameters:
- destFile (str): Destination file
- src: Data to write
- EncodingFormat (str): Encoding format
- append (bool): Append mode
File Information¶
documentFileLength()¶
Get file size in bytes.
Parameters:
- path (str): File path
Returns: File size in bytes (0 if not exists)
documentFileLastModified()¶
Get last modified time.
Parameters:
- path (str): File path
Returns: Timestamp (0 if not exists)
documentFileGetStat()¶
Get comprehensive file statistics.
Parameters:
- path (str): File path
Returns: Dict with length, last modified, and read/write permissions, or None if not exists
URI Operations¶
documentFileGetUri()¶
Get URI from path.
documentFileShowOpen()¶
Show file picker.
Returns: Selected file URI
Usage Example¶
import androidhelper
droid = androidhelper.Android()
# Create directory
droid.documentFileMkdir("/sdcard/MyFolder")
# List files
files = droid.documentFileListFiles("/sdcard").result
for f in files:
print(f)
# Read file
content = droid.documentFileInputStream(
"/sdcard/test.txt",
EncodingFormat="UTF-8"
).result
print(content)
# Write file
droid.documentFileOutputStream(
"/sdcard/output.txt",
"Hello World",
EncodingFormat="UTF-8"
)