|
|
virtual | ~FileUtils () |
| | The destructor of FileUtils.
|
| |
|
virtual void | purgeCachedEntries () |
| | Purges full path caches.
|
| |
|
var | purgeCachedEntries () |
| | Purges full path caches.
|
| |
|
local | purgeCachedEntries () |
| | Purges full path caches.
|
| |
|
virtual std::string | getStringFromFile (const std::string &filename) |
| | Gets string from a file.
|
| |
| virtual Data | getDataFromFile (const std::string &filename) |
| | Creates binary data from a file. More...
|
| |
| var | getDataFromFile ( var filename) |
| | Creates binary data from a file. More...
|
| |
| local | getDataFromFile ( local filename) |
| | Creates binary data from a file. More...
|
| |
| virtual unsigned char * | getFileData (const std::string &filename, const char *mode, ssize_t *size) |
| | Gets resource file data. More...
|
| |
| var | getFileData ( var filename, var mode, var size) |
| | Gets resource file data. More...
|
| |
| local | getFileData ( local filename, local mode, local size) |
| | Gets resource file data. More...
|
| |
| virtual unsigned char * | getFileDataFromZip (const std::string &zipFilePath, const std::string &filename, ssize_t *size) |
| | Gets resource file data from a zip file. More...
|
| |
| virtual std::string | fullPathForFilename (const std::string &filename) const |
| | Returns the fullpath for a given filename. More...
|
| |
| virtual void | loadFilenameLookupDictionaryFromFile (const std::string &filename) |
| | Loads the filenameLookup dictionary from the contents of a filename. More...
|
| |
| var | loadFilenameLookup ( var filename) |
| | Loads the filenameLookup dictionary from the contents of a filename. More...
|
| |
| local | loadFilenameLookup ( local filename) |
| | Loads the filenameLookup dictionary from the contents of a filename. More...
|
| |
| virtual void | setFilenameLookupDictionary (const ValueMap &filenameLookupDict) |
| | Sets the filenameLookup dictionary. More...
|
| |
| virtual std::string | fullPathFromRelativeFile (const std::string &filename, const std::string &relativeFile) |
| | Gets full path from a file name and the path of the relative file. More...
|
| |
| local | fullPathFromRelativeFile ( local filename, local relativeFile) |
| | Gets full path from a file name and the path of the relative file. More...
|
| |
| virtual void | setSearchResolutionsOrder (const std::vector< std::string > &searchResolutionsOrder) |
| | Sets the array that contains the search order of the resources. More...
|
| |
| virtual void | addSearchResolutionsOrder (const std::string &order, const bool front=false) |
| | Append search order of the resources. More...
|
| |
| local | addSearchResolutionsOrder ( local order, local false) |
| | Append search order of the resources. More...
|
| |
virtual const std::vector
< std::string > & | getSearchResolutionsOrder () const |
| | Gets the array that contains the search order of the resources. More...
|
| |
| virtual void | setSearchPaths (const std::vector< std::string > &searchPaths) |
| | Sets the array of search paths. More...
|
| |
|
void | setDefaultResourceRootPath (const std::string &path) |
| | Set default resource root path.
|
| |
| void | addSearchPath (const std::string &path, const bool front=false) |
| | Add search path. More...
|
| |
virtual const std::vector
< std::string > & | getSearchPaths () const |
| | Gets the array of search paths. More...
|
| |
| virtual std::string | getWritablePath () const =0 |
| | Gets the writable path. More...
|
| |
|
virtual void | setWritablePath (const std::string &writablePath) |
| | Sets writable path.
|
| |
|
var | setWritablePath ( var writablePath) |
| | Sets writable path.
|
| |
|
local | setWritablePath ( local writablePath) |
| | Sets writable path.
|
| |
|
virtual void | setPopupNotify (bool notify) |
| | Sets whether to pop-up a message box when failed to load an image.
|
| |
| virtual bool | isPopupNotify () const |
| | Checks whether to pop up a message box when failed to load an image. More...
|
| |
| virtual ValueMap | getValueMapFromFile (const std::string &filename) |
| | Converts the contents of a file to a ValueMap. More...
|
| |
| var | getValueMapFromFile ( var filename) |
| | Converts the contents of a file to a ValueMap. More...
|
| |
| virtual ValueMap | getValueMapFromData (const char *filedata, int filesize) |
| | Converts the contents of a file to a ValueMap. More...
|
| |
| var | getValueMapFromData ( var filedata, var filesize) |
| | Converts the contents of a file to a ValueMap. More...
|
| |
| virtual bool | writeToFile (ValueMap &dict, const std::string &fullPath) |
| | write a ValueMap into a plist file More...
|
| |
| virtual bool | writeStringToFile (std::string dataStr, const std::string &fullPath) |
| | write a string into a file More...
|
| |
| var | writeStringToFile ( var dataStr, var fullPath) |
| | write a string into a file More...
|
| |
| local | writeStringToFile ( local dataStr, local fullPath) |
| | write a string into a file More...
|
| |
| virtual bool | writeDataToFile (Data retData, const std::string &fullPath) |
| | write Data into a file More...
|
| |
| virtual bool | writeValueMapToFile (ValueMap &dict, const std::string &fullPath) |
| | write ValueMap into a plist file More...
|
| |
| var | writeValueMapToFile ( var dict, var fullPath) |
| | write ValueMap into a plist file More...
|
| |
| local | writeValueMapToFile ( local dict, local fullPath) |
| | write ValueMap into a plist file More...
|
| |
| virtual bool | writeValueVectorToFile (ValueVector vecData, const std::string &fullPath) |
| | write ValueVector into a plist file More...
|
| |
| virtual std::string | getSuitableFOpen (const std::string &filenameUtf8) const |
| | Windows fopen can't support UTF-8 filename Need convert all parameters fopen and other 3rd-party libs. More...
|
| |
| local | getSuitableFOpen ( local filenameUtf8) |
| | Windows fopen can't support UTF-8 filename Need convert all parameters fopen and other 3rd-party libs. More...
|
| |
| virtual bool | isFileExist (const std::string &filename) const |
| | Checks whether a file exists. More...
|
| |
| virtual std::string | getFileExtension (const std::string &filePath) const |
| | Gets filename extension is a suffix (separated from the base filename by a dot) in lower case. More...
|
| |
| local | getFileExtension ( local filePath) |
| | Gets filename extension is a suffix (separated from the base filename by a dot) in lower case. More...
|
| |
| virtual bool | isAbsolutePath (const std::string &path) const |
| | Checks whether the path is an absolute path. More...
|
| |
| virtual bool | isDirectoryExist (const std::string &dirPath) const |
| | Checks whether the path is a directory. More...
|
| |
| local | isDirectoryExist ( local dirPath) |
| | Checks whether the path is a directory. More...
|
| |
| virtual bool | createDirectory (const std::string &dirPath) |
| | Creates a directory. More...
|
| |
| virtual bool | removeDirectory (const std::string &dirPath) |
| | Removes a directory. More...
|
| |
| virtual bool | removeFile (const std::string &filepath) |
| | Removes a file. More...
|
| |
| virtual bool | renameFile (const std::string &path, const std::string &oldname, const std::string &name) |
| | Renames a file under the given directory. More...
|
| |
| local | renameFile ( local path, local oldname, local name) |
| | Renames a file under the given directory. More...
|
| |
| virtual bool | renameFile (const std::string &oldfullpath, const std::string &newfullpath) |
| | Renames a file under the given directory. More...
|
| |
| virtual long | getFileSize (const std::string &filepath) |
| | Retrieve the file size. More...
|
| |
| var | getFileSize ( var filepath) |
| | Retrieve the file size. More...
|
| |
| local | getFileSize ( local filepath) |
| | Retrieve the file size. More...
|
| |
const std::unordered_map
< std::string, std::string > & | getFullPathCache () const |
| | Returns the full path cache. More...
|
| |
Helper class to handle file operations.
virtual std::string
fullPathForFilename |
( |
const std::string & |
filename | ) |
const |
|
virtual |
Returns the fullpath for a given filename.
First it will try to get a new filename from the "filenameLookup" dictionary. If a new filename can't be found on the dictionary, it will use the original filename. Then it will try to obtain the full path of the filename using the FileUtils search rules: resolutions, and search paths. The file search is based on the array element order of search paths and resolution directories.
For instance:
We set two elements("/mnt/sdcard/", "internal_dir/") to search paths vector by setSearchPaths,
and set three elements("resources-ipadhd/", "resources-ipad/", "resources-iphonehd")
to resolutions vector by setSearchResolutionsOrder. The "internal_dir" is relative to "Resources/".
If we have a file named 'sprite.png', the mapping in fileLookup dictionary contains key: sprite.png -> value: sprite.pvr.gz. Firstly, it will replace 'sprite.png' with 'sprite.pvr.gz', then searching the file sprite.pvr.gz as follows:
/mnt/sdcard/resources-ipadhd/sprite.pvr.gz (if not found, search next)
/mnt/sdcard/resources-ipad/sprite.pvr.gz (if not found, search next)
/mnt/sdcard/resources-iphonehd/sprite.pvr.gz (if not found, search next)
/mnt/sdcard/sprite.pvr.gz (if not found, search next)
internal_dir/resources-ipadhd/sprite.pvr.gz (if not found, search next)
internal_dir/resources-ipad/sprite.pvr.gz (if not found, search next)
internal_dir/resources-iphonehd/sprite.pvr.gz (if not found, search next)
internal_dir/sprite.pvr.gz (if not found, return "sprite.png")
If the filename contains relative path like "gamescene/uilayer/sprite.png", and the mapping in fileLookup dictionary contains key: gamescene/uilayer/sprite.png -> value: gamescene/uilayer/sprite.pvr.gz. The file search order will be:
/mnt/sdcard/gamescene/uilayer/resources-ipadhd/sprite.pvr.gz (if not found, search next)
/mnt/sdcard/gamescene/uilayer/resources-ipad/sprite.pvr.gz (if not found, search next)
/mnt/sdcard/gamescene/uilayer/resources-iphonehd/sprite.pvr.gz (if not found, search next)
/mnt/sdcard/gamescene/uilayer/sprite.pvr.gz (if not found, search next)
internal_dir/gamescene/uilayer/resources-ipadhd/sprite.pvr.gz (if not found, search next)
internal_dir/gamescene/uilayer/resources-ipad/sprite.pvr.gz (if not found, search next)
internal_dir/gamescene/uilayer/resources-iphonehd/sprite.pvr.gz (if not found, search next)
internal_dir/gamescene/uilayer/sprite.pvr.gz (if not found, return "gamescene/uilayer/sprite.png")
If the new file can't be found on the file system, it will return the parameter filename directly.
This method was added to simplify multiplatform support. Whether you are using cocos2d-js or any cross-compilation toolchain like StellaSDK or Apportable, you might need to load different resources for a given file in the different platforms.
- Since
- v2.1
| var fullPathForFilename |
( |
var |
filename | ) |
|
|
virtual |
Returns the fullpath for a given filename.
First it will try to get a new filename from the "filenameLookup" dictionary. If a new filename can't be found on the dictionary, it will use the original filename. Then it will try to obtain the full path of the filename using the FileUtils search rules: resolutions, and search paths. The file search is based on the array element order of search paths and resolution directories.
For instance:
We set two elements("/mnt/sdcard/", "internal_dir/") to search paths vector by setSearchPaths,
and set three elements("resources-ipadhd/", "resources-ipad/", "resources-iphonehd")
to resolutions vector by setSearchResolutionsOrder. The "internal_dir" is relative to "Resources/".
If we have a file named 'sprite.png', the mapping in fileLookup dictionary contains key: sprite.png -> value: sprite.pvr.gz. Firstly, it will replace 'sprite.png' with 'sprite.pvr.gz', then searching the file sprite.pvr.gz as follows:
/mnt/sdcard/resources-ipadhd/sprite.pvr.gz (if not found, search next)
/mnt/sdcard/resources-ipad/sprite.pvr.gz (if not found, search next)
/mnt/sdcard/resources-iphonehd/sprite.pvr.gz (if not found, search next)
/mnt/sdcard/sprite.pvr.gz (if not found, search next)
internal_dir/resources-ipadhd/sprite.pvr.gz (if not found, search next)
internal_dir/resources-ipad/sprite.pvr.gz (if not found, search next)
internal_dir/resources-iphonehd/sprite.pvr.gz (if not found, search next)
internal_dir/sprite.pvr.gz (if not found, return "sprite.png")
If the filename contains relative path like "gamescene/uilayer/sprite.png", and the mapping in fileLookup dictionary contains key: gamescene/uilayer/sprite.png -> value: gamescene/uilayer/sprite.pvr.gz. The file search order will be:
/mnt/sdcard/gamescene/uilayer/resources-ipadhd/sprite.pvr.gz (if not found, search next)
/mnt/sdcard/gamescene/uilayer/resources-ipad/sprite.pvr.gz (if not found, search next)
/mnt/sdcard/gamescene/uilayer/resources-iphonehd/sprite.pvr.gz (if not found, search next)
/mnt/sdcard/gamescene/uilayer/sprite.pvr.gz (if not found, search next)
internal_dir/gamescene/uilayer/resources-ipadhd/sprite.pvr.gz (if not found, search next)
internal_dir/gamescene/uilayer/resources-ipad/sprite.pvr.gz (if not found, search next)
internal_dir/gamescene/uilayer/resources-iphonehd/sprite.pvr.gz (if not found, search next)
internal_dir/gamescene/uilayer/sprite.pvr.gz (if not found, return "gamescene/uilayer/sprite.png")
If the new file can't be found on the file system, it will return the parameter filename directly.
This method was added to simplify multiplatform support. Whether you are using cocos2d-js or any cross-compilation toolchain like StellaSDK or Apportable, you might need to load different resources for a given file in the different platforms.
- Since
- v2.1
| local fullPathForFilename |
( |
local |
filename | ) |
|
|
virtual |
Returns the fullpath for a given filename.
First it will try to get a new filename from the "filenameLookup" dictionary. If a new filename can't be found on the dictionary, it will use the original filename. Then it will try to obtain the full path of the filename using the FileUtils search rules: resolutions, and search paths. The file search is based on the array element order of search paths and resolution directories.
For instance:
We set two elements("/mnt/sdcard/", "internal_dir/") to search paths vector by setSearchPaths,
and set three elements("resources-ipadhd/", "resources-ipad/", "resources-iphonehd")
to resolutions vector by setSearchResolutionsOrder. The "internal_dir" is relative to "Resources/".
If we have a file named 'sprite.png', the mapping in fileLookup dictionary contains key: sprite.png -> value: sprite.pvr.gz. Firstly, it will replace 'sprite.png' with 'sprite.pvr.gz', then searching the file sprite.pvr.gz as follows:
/mnt/sdcard/resources-ipadhd/sprite.pvr.gz (if not found, search next)
/mnt/sdcard/resources-ipad/sprite.pvr.gz (if not found, search next)
/mnt/sdcard/resources-iphonehd/sprite.pvr.gz (if not found, search next)
/mnt/sdcard/sprite.pvr.gz (if not found, search next)
internal_dir/resources-ipadhd/sprite.pvr.gz (if not found, search next)
internal_dir/resources-ipad/sprite.pvr.gz (if not found, search next)
internal_dir/resources-iphonehd/sprite.pvr.gz (if not found, search next)
internal_dir/sprite.pvr.gz (if not found, return "sprite.png")
If the filename contains relative path like "gamescene/uilayer/sprite.png", and the mapping in fileLookup dictionary contains key: gamescene/uilayer/sprite.png -> value: gamescene/uilayer/sprite.pvr.gz. The file search order will be:
/mnt/sdcard/gamescene/uilayer/resources-ipadhd/sprite.pvr.gz (if not found, search next)
/mnt/sdcard/gamescene/uilayer/resources-ipad/sprite.pvr.gz (if not found, search next)
/mnt/sdcard/gamescene/uilayer/resources-iphonehd/sprite.pvr.gz (if not found, search next)
/mnt/sdcard/gamescene/uilayer/sprite.pvr.gz (if not found, search next)
internal_dir/gamescene/uilayer/resources-ipadhd/sprite.pvr.gz (if not found, search next)
internal_dir/gamescene/uilayer/resources-ipad/sprite.pvr.gz (if not found, search next)
internal_dir/gamescene/uilayer/resources-iphonehd/sprite.pvr.gz (if not found, search next)
internal_dir/gamescene/uilayer/sprite.pvr.gz (if not found, return "gamescene/uilayer/sprite.png")
If the new file can't be found on the file system, it will return the parameter filename directly.
This method was added to simplify multiplatform support. Whether you are using cocos2d-js or any cross-compilation toolchain like StellaSDK or Apportable, you might need to load different resources for a given file in the different platforms.
- Since
- v2.1