details function
Returns a HashMap containing detials of the file or the directory in organised style. you can use details from Directory or File instead this function.
arguments
keys
- type
- lastChanged
- lastModified
- size
- permissions
- lastAccessed
- extension
- path
Implementation
Future<Map?> details(dynamic path) async {
HashMap _details = HashMap();
if (path == null || (!path.existsSync() && !File(path).existsSync())) {
print("file or dir does not exists");
return null;
// directory
} else if (path.existsSync()) {
// directory or file
_details["type"] = path.statSync().type.toString();
_details["lastChanged"] = TimeTools.timeNormalize(path.statSync().changed);
_details["lastModified"] = TimeTools.timeNormalize(
Directory.fromUri(Uri.parse(path)).statSync().modified);
_details["size"] = path.statSync().size;
_details["type"] = path.statSync().type.toString();
_details["lastAccessed"] =
TimeTools.timeNormalize(path.statSync().accessed);
_details["permissions"] = path.statSync().modeString();
_details["path"] = path;
return _details;
// file
} else if (File(path).existsSync()) {
var fileStat = File(path).statSync();
// directory or file
_details["lastModified"] = TimeTools.timeNormalize(fileStat.modified);
_details["lastAccessed"] = TimeTools.timeNormalize(fileStat.accessed);
_details["lastChanged"] = TimeTools.timeNormalize(fileStat.changed);
_details["type"] = fileStat.type.toString();
_details["size"] = fileStat.size;
_details["permissions"] = fileStat.modeString();
_details["extension"] = pathlib.extension(path.path).replaceFirst('.', '');
_details["path"] = path;
return _details;
}
return null;
}