diff --git a/Userland/Libraries/LibCore/Stream.cpp b/Userland/Libraries/LibCore/Stream.cpp index 179ee209ea..c142bfb685 100644 --- a/Userland/Libraries/LibCore/Stream.cpp +++ b/Userland/Libraries/LibCore/Stream.cpp @@ -117,6 +117,11 @@ ErrorOr> File::adopt_fd(int fd, OpenMode mode) return file; } +bool File::exists(StringView filename) +{ + return !Core::System::stat(filename).is_error(); +} + int File::open_mode_to_options(OpenMode mode) { int flags = 0; diff --git a/Userland/Libraries/LibCore/Stream.h b/Userland/Libraries/LibCore/Stream.h index 1859e86a59..2089fdac49 100644 --- a/Userland/Libraries/LibCore/Stream.h +++ b/Userland/Libraries/LibCore/Stream.h @@ -179,6 +179,7 @@ class File final : public SeekableStream { public: static ErrorOr> open(StringView filename, OpenMode, mode_t = 0644); static ErrorOr> adopt_fd(int fd, OpenMode); + static bool exists(StringView filename); File(File&& other) { operator=(move(other)); }