diff --git a/interfaces/kits/js/src/mod_fs/class_watcher/watcher_entity.cpp b/interfaces/kits/js/src/mod_fs/class_watcher/watcher_entity.cpp index 2cdb84a7eb63b19fc78df5a7a54d675f58989aea..4a336e9614518a0790d100e9af98287c76d781db 100644 --- a/interfaces/kits/js/src/mod_fs/class_watcher/watcher_entity.cpp +++ b/interfaces/kits/js/src/mod_fs/class_watcher/watcher_entity.cpp @@ -20,6 +20,7 @@ #include #include #include +#include #include "filemgmt_libhilog.h" #include "uv.h" @@ -311,7 +312,9 @@ void FileWatcher::NotifyEvent(const struct inotify_event *event, WatcherCallback continue; } if (event->len > 0) { - fileName += "/" + string(event->name); + std::filesystem::path base = fileName; + std::filesystem::path file = string(event->name); + fileName = base / file; } callback(iter->env, iter->nRef, fileName, event->mask & IN_ALL_EVENTS, event->cookie); }