mirror of
https://github.com/esp8266/Arduino.git
synced 2025-04-21 10:26:06 +03:00
Implement SPIFFS.exists
This commit is contained in:
parent
f73d414f38
commit
c8b12fd72c
@ -193,6 +193,17 @@ File FS::open(const char* path, const char* mode) {
|
|||||||
return File(_impl->open(path, om, am));
|
return File(_impl->open(path, om, am));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool FS::exists(const char* path) {
|
||||||
|
if (!_impl) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return _impl->exists(path);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool FS::exists(const String& path) {
|
||||||
|
return exists(path.c_str());
|
||||||
|
}
|
||||||
|
|
||||||
Dir FS::openDir(const char* path) {
|
Dir FS::openDir(const char* path) {
|
||||||
if (!_impl) {
|
if (!_impl) {
|
||||||
return Dir();
|
return Dir();
|
||||||
|
@ -97,6 +97,9 @@ public:
|
|||||||
File open(const char* path, const char* mode);
|
File open(const char* path, const char* mode);
|
||||||
File open(const String& path, const char* mode);
|
File open(const String& path, const char* mode);
|
||||||
|
|
||||||
|
bool exists(const char* path);
|
||||||
|
bool exists(const String& path);
|
||||||
|
|
||||||
Dir openDir(const char* path);
|
Dir openDir(const char* path);
|
||||||
Dir openDir(const String& path);
|
Dir openDir(const String& path);
|
||||||
|
|
||||||
|
@ -65,6 +65,7 @@ public:
|
|||||||
virtual bool begin() = 0;
|
virtual bool begin() = 0;
|
||||||
virtual bool format() = 0;
|
virtual bool format() = 0;
|
||||||
virtual FileImplPtr open(const char* path, OpenMode openMode, AccessMode accessMode) = 0;
|
virtual FileImplPtr open(const char* path, OpenMode openMode, AccessMode accessMode) = 0;
|
||||||
|
virtual bool exists(const char* path) = 0;
|
||||||
virtual DirImplPtr openDir(const char* path) = 0;
|
virtual DirImplPtr openDir(const char* path) = 0;
|
||||||
virtual bool rename(const char* pathFrom, const char* pathTo) = 0;
|
virtual bool rename(const char* pathFrom, const char* pathTo) = 0;
|
||||||
virtual bool remove(const char* path) = 0;
|
virtual bool remove(const char* path) = 0;
|
||||||
|
@ -59,7 +59,7 @@ public:
|
|||||||
}
|
}
|
||||||
|
|
||||||
FileImplPtr open(const char* path, OpenMode openMode, AccessMode accessMode) override;
|
FileImplPtr open(const char* path, OpenMode openMode, AccessMode accessMode) override;
|
||||||
|
bool exists(const char* path) override;
|
||||||
DirImplPtr openDir(const char* path) override;
|
DirImplPtr openDir(const char* path) override;
|
||||||
|
|
||||||
bool rename(const char* pathFrom, const char* pathTo) override {
|
bool rename(const char* pathFrom, const char* pathTo) override {
|
||||||
@ -404,6 +404,14 @@ FileImplPtr SPIFFSImpl::open(const char* path, OpenMode openMode, AccessMode acc
|
|||||||
return std::make_shared<SPIFFSFileImpl>(this, fd);
|
return std::make_shared<SPIFFSFileImpl>(this, fd);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool SPIFFSImpl::exists(const char* path) {
|
||||||
|
char tmpName[SPIFFS_OBJ_NAME_LEN];
|
||||||
|
strlcpy(tmpName, path, sizeof(tmpName));
|
||||||
|
spiffs_stat stat;
|
||||||
|
int rc = SPIFFS_stat(&_fs, tmpName, &stat);
|
||||||
|
return rc == SPIFFS_OK;
|
||||||
|
}
|
||||||
|
|
||||||
DirImplPtr SPIFFSImpl::openDir(const char* path) {
|
DirImplPtr SPIFFSImpl::openDir(const char* path) {
|
||||||
spiffs_DIR dir;
|
spiffs_DIR dir;
|
||||||
char tmpName[SPIFFS_OBJ_NAME_LEN];
|
char tmpName[SPIFFS_OBJ_NAME_LEN];
|
||||||
|
@ -191,6 +191,14 @@ if (!f) {
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
#### exists
|
||||||
|
|
||||||
|
```c++
|
||||||
|
SPIFFS.exists(path)
|
||||||
|
```
|
||||||
|
|
||||||
|
Returns *true* if a file with given path exists, *false* otherwise.
|
||||||
|
|
||||||
#### openDir
|
#### openDir
|
||||||
|
|
||||||
```c++
|
```c++
|
||||||
|
Loading…
x
Reference in New Issue
Block a user