iOS 文件操作

2019-11-27  本文已影响0人  世玉茹花

iOS文件(沙盒目录,文件创建、移动、复制等)

目录获取
获取沙盒的主目录路径:

/*创建文件
*参数1:文件创建的路径
*参数2:写入文件的内容
*参数3:假如已经存在此文件是否覆盖
*参数4:错误信息
*/

//获取文件创建的时间

//获取文件修改的时间

3、写入文件内容

按照文件路径向文件写入内容,内容可为数组、字典、NSData等等:

pragma mark 写入文件内容

/*参数1:文件路径
*参数2:文件内容
*参数3:错误信息
*/

pragma mark - 判断文件(夹)是否存在

删除文件(夹)

pragma mark 清空Cashes文件夹

pragma mark 清空temp文件夹

依据源文件的路径复制一份到目标路径:

pragma mark - 复制文件

/*参数1、被复制文件路径
*参数2、要复制到的目标文件路径
*参数3、当要复制到的文件路径文件存在,会复制失败,这里传入是否覆盖
*参数4、错误信息
*/

pragma mark - 判断文件(夹)是否存在

依据源文件的路径移动到目标路径:

pragma mark - 移动文件(夹)

/*参数1、被移动文件路径
*参数2、要移动到的目标文件路径
*参数3、当要移动到的文件路径文件存在,会移动失败,这里传入是否覆盖
*参数4、错误信息
*/

根据文件路径获取文件名称,是否需要后缀:

pragma mark - 根据URL获取文件名

/*参数1:文件路径
*参数2、是否需要后缀
*/

获取文件所在的文件夹路径:

判断文件路径是否存在:

判断目录是否是文件夹:

获取文件大小(NSNumber):

pragma mark 获取文件夹的大小

pragma mark 将文件大小格式化为字节

+(NSString *)sizeFormatted:(NSNumber )size {
/
NSByteCountFormatterCountStyle枚举
*NSByteCountFormatterCountStyleFile 字节为单位,采用十进制的1000bytes = 1KB
*NSByteCountFormatterCountStyleMemory 字节为单位,采用二进制的1024bytes = 1KB
*NSByteCountFormatterCountStyleDecimal KB为单位,采用十进制的1000bytes = 1KB
*NSByteCountFormatterCountStyleBinary KB为单位,采用二进制的1024bytes = 1KB
*/
return [NSByteCountFormatter stringFromByteCount:[size unsignedLongLongValue] countStyle:NSByteCountFormatterCountStyleFile];
}
获取文件夹大小(单位为字节):

pragma mark 将文件大小格式化为字节

+(NSString *)sizeFormatted:(NSNumber )size {
/
NSByteCountFormatterCountStyle枚举
*NSByteCountFormatterCountStyleFile 字节为单位,采用十进制的1000bytes = 1KB
*NSByteCountFormatterCountStyleMemory 字节为单位,采用二进制的1024bytes = 1KB
*NSByteCountFormatterCountStyleDecimal KB为单位,采用十进制的1000bytes = 1KB
*NSByteCountFormatterCountStyleBinary KB为单位,采用二进制的1024bytes = 1KB
*/
return [NSByteCountFormatter stringFromByteCount:[size unsignedLongLongValue] countStyle:NSByteCountFormatterCountStyleFile];
}
10、遍历文件夹

遍历文件夹,分为深遍历和浅遍历:

pragma mark - 遍历文件夹

/**
文件遍历
参数1:目录的绝对路径
参数2:是否深遍历 (1. 浅遍历:返回当前目录下的所有文件和文件夹;

  1. 深遍历:返回当前目录下及子目录下的所有文件和文件夹)
    */

根据key获取文件某个属性:

//key的列表如:
FOUNDATION_EXPORT NSString * const NSFileType;
FOUNDATION_EXPORT NSString * const NSFileTypeDirectory;
FOUNDATION_EXPORT NSString * const NSFileTypeRegular;
FOUNDATION_EXPORT NSString * const NSFileTypeSymbolicLink;
FOUNDATION_EXPORT NSString * const NSFileTypeSocket;
FOUNDATION_EXPORT NSString * const NSFileTypeCharacterSpecial;
FOUNDATION_EXPORT NSString * const NSFileTypeBlockSpecial;
FOUNDATION_EXPORT NSString * const NSFileTypeUnknown;
FOUNDATION_EXPORT NSString * const NSFileSize;
FOUNDATION_EXPORT NSString * const NSFileModificationDate;
FOUNDATION_EXPORT NSString * const NSFileReferenceCount;
FOUNDATION_EXPORT NSString * const NSFileDeviceIdentifier;
FOUNDATION_EXPORT NSString * const NSFileOwnerAccountName;
FOUNDATION_EXPORT NSString * const NSFileGroupOwnerAccountName;
FOUNDATION_EXPORT NSString * const NSFilePosixPermissions;
FOUNDATION_EXPORT NSString * const NSFileSystemNumber;
FOUNDATION_EXPORT NSString * const NSFileSystemFileNumber;
FOUNDATION_EXPORT NSString * const NSFileExtensionHidden;
FOUNDATION_EXPORT NSString * const NSFileHFSCreatorCode;
FOUNDATION_EXPORT NSString * const NSFileHFSTypeCode;
FOUNDATION_EXPORT NSString * const NSFileImmutable;
FOUNDATION_EXPORT NSString * const NSFileAppendOnly;
FOUNDATION_EXPORT NSString * const NSFileCreationDate;
FOUNDATION_EXPORT NSString * const NSFileOwnerAccountID;
FOUNDATION_EXPORT NSString * const NSFileGroupOwnerAccountID;
FOUNDATION_EXPORT NSString * const NSFileBusy;
FOUNDATION_EXPORT NSString * const NSFileProtectionKey NS_AVAILABLE_IOS(4_0);
FOUNDATION_EXPORT NSString * const NSFileProtectionNone NS_AVAILABLE_IOS(4_0);
FOUNDATION_EXPORT NSString * const NSFileProtectionComplete NS_AVAILABLE_IOS(4_0);
FOUNDATION_EXPORT NSString * const NSFileProtectionCompleteUnlessOpen NS_AVAILABLE_IOS(5_0);
FOUNDATION_EXPORT NSString * const NSFileProtectionCompleteUntilFirstUserAuthentication NS_AVAILABLE_IOS(5_0);
复制代码

上一篇 下一篇

猜你喜欢

热点阅读