disk_usage 1.0.0
disk_usage: ^1.0.0 copied to clipboard
A Flutter plugin for getting disk space information on all platforms. Supports iOS, Android, macOS, Windows, and Linux.
disk_usage #
A Flutter plugin for getting disk space information on all platforms.
Features #
- ✅ Get total disk space
- ✅ Get free disk space
- ✅ Cross-platform support (iOS, Android, macOS, Windows, Linux)
- ✅ Simple and clean API
- ✅ Null-safe implementation
Platforms Support #
| Platform | Supported |
|---|---|
| iOS | ✅ |
| Android | ✅ |
| macOS | ✅ |
| Windows | ✅ |
| Linux | ✅ |
Installation #
Add this to your package's pubspec.yaml file:
dependencies:
disk_usage: ^1.0.0
Usage #
Basic Usage #
import 'package:disk_usage/disk_usage.dart';
// Get total disk space
final totalSpace = await DiskUsage.space(DiskSpaceType.total);
print('Total space: $totalSpace bytes');
// Get free disk space
final freeSpace = await DiskUsage.space(DiskSpaceType.free);
print('Free space: $freeSpace bytes');
Convenience Methods #
// Get total space (convenience method)
final totalSpace = await DiskUsage.totalSpace();
// Get free space (convenience method)
final freeSpace = await DiskUsage.freeSpace();
With Custom Path #
// Get disk space for a specific path
final totalSpace = await DiskUsage.space(DiskSpaceType.total, '/custom/path');
final freeSpace = await DiskUsage.space(DiskSpaceType.free, '/custom/path');
Error Handling #
try {
final totalSpace = await DiskUsage.space(DiskSpaceType.total);
if (totalSpace != null) {
print('Total space: $totalSpace bytes');
} else {
print('Failed to get disk space');
}
} catch (e) {
print('Error: $e');
}
API Reference #
DiskSpaceType #
An enum representing the type of disk space to retrieve:
DiskSpaceType.total- Total disk capacityDiskSpaceType.free- Available free space
DiskUsage #
The main class for disk usage operations.
Methods
static Future<int?> space(DiskSpaceType type, [String? path])
Gets disk space information.
Parameters:
type- The type of disk space to retrievepath- Optional path to query (defaults to root directory)
Returns:
Future<int?>- The disk space in bytes, ornullif the operation fails
static Future<int?> totalSpace([String? path])
Convenience method to get total disk space.
static Future<int?> freeSpace([String? path])
Convenience method to get free disk space.
Example App #
See the example directory for a complete sample app that demonstrates how to use this plugin.
Platform Implementation Details #
iOS/macOS #
Uses FileManager.default.attributesOfFileSystem(forPath:) with .systemSize and .systemFreeSize keys.
Android #
Uses StatFs class to get disk space information.
Windows #
Uses GetDiskFreeSpaceExW Win32 API.
Linux #
Uses statvfs system call.
Contributing #
Contributions are welcome! Please feel free to submit a Pull Request.
License #
This project is licensed under the MIT License - see the LICENSE file for details.