cdts/xdts-ios 3/Pods/DDWriteFileManager/WriteFileSupportSpec/Classes/DDWriteFileSupport.h

277 lines
9.8 KiB
C
Raw Normal View History

2023-07-27 09:20:00 +08:00
//
// DDWriteFileSupport.h
// ResultContained
//
// Created by 李胜书 on 15/8/17.
// Copyright (c) 2015年 李胜书. All rights reserved.
//
typedef enum {
///在documents下
DDFieldDocuments = 0,
///在library/caches下
DDFieldLibraryCaches,
///在temp下
DDFieldTemp
}DDFileField;
typedef enum {
///需要返回image
DDFileTypeImage = 0,
///需要返回数组
DDFileTypeArray,
///需要返回字典
DDFileTypeDictionary,
///需要返回文件流
DDFileTypeData
}DDFileType;
typedef enum {
///需要返回kb大小
DDSizeTypeKB = 0,
///需要返回mb大小
DDSizeTypeMB,
///需要返回gb大小
DDSizeTypeGB,
///需要返回tb大小
DDSizeTypeTB
}DDSizeType;
typedef enum {
///图片为PNG
DDImgTypePNG = 0,
///图片为JPEG
DDImgTypeJPEG
}DDImgType;
#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
@interface DDWriteFileSupport : NSObject
/**
@return
*/
+ (nonnull DDWriteFileSupport *)ShareInstance;
#pragma mark - ***** 获取路径 *****
/// 通过file存储时的url获取文件绝对路径不存在则返回null
/// @param url 文件url
/// @param filed 文件存储位置DDFieldDocuments,DDFieldLibraryCaches,DDFieldTemp
- (nullable NSString *)searchFileByUrl:(nullable NSString *)url
filed:(DDFileField)filed;
/// 通过file存储时的url和下载的文件夹名获取文件绝对路径不存在则返回null
/// @param url 文件url
/// @param cirName 文件夹name如果有多重子文件夹都在这里一并传入,ps:test/donwload/down
/// @param filed 文件存储位置DDFieldDocuments,DDFieldLibraryCaches,DDFieldTemp
- (nullable NSString *)searchFileByUrl:(nullable NSString *)url
cirName:(nullable NSString *)cirName
filed:(DDFileField)filed;
/// 通过file文件名获取文件绝对路径不存在则返回null
/// @param name 文件name
/// @param filed 文件存储位置DDFieldDocuments,DDFieldLibraryCaches,DDFieldTemp
- (nullable NSString *)searchFileByFileName:(nullable NSString *)name
filed:(DDFileField)filed;
/// 通过file文件名和下载的文件夹名获取文件绝对路径不存在则返回null
/// @param name 文件name
/// @param cirName 文件夹name如果有多重子文件夹都在这里一并传入,ps:test/donwload/down
/// @param filed 文件存储位置DDFieldDocuments,DDFieldLibraryCaches,DDFieldTemp
- (nullable NSString *)searchFileByFileName:(nullable NSString *)name
cirName:(nullable NSString *)cirName
filed:(DDFileField)filed;
#pragma mark - ***** 获取文件夹下子文件路径或文件名 *****
/**
@param dirPath
@return
*/
- (nullable NSMutableArray <NSString *> *)readDirPath:(nullable NSString *)dirPath;
/**
@param dirPath
@return
*/
- (nullable NSArray <NSString *> *)readDirNames:(nullable NSString *)dirPath;
#pragma mark - ***** 写入 *****
/**
filed参数创建文件夹
@param dirName
@param field field地址
@return
*/
- (BOOL)createDir:(nonnull NSString *)dirName
filed:(DDFileField)field;
/**
data流到本地指定路径path
@param path
@param data png格式jpg图片请使用选择图片type的方法
@return
*/
- (BOOL)directWriteFile:(nonnull NSString *)path
data:(nonnull id)data;
/**
path
@param path
@param img
@param imgType
@return
*/
- (BOOL)directWriteFile:(nonnull NSString *)path
img:(nonnull UIImage *)img
imageType:(DDImgType)imgType;
/**
data流到本地path
@param path
@param data png格式jpg图片请使用选择图片type的方法
@return
*/
- (BOOL)writeFile:(nonnull NSString *)path
data:(nonnull id)data;
/**
path
@param path
@param img
@param imgType
@return
*/
- (BOOL)writeFile:(nonnull NSString *)path
img:(nonnull UIImage *)img
imageType:(DDImgType)imgType;
/**
data流到本地doc,lib,temp中指定一处的相对位置path
@param path
@param data png格式jpg图片请使用选择图片type的方法
@param field type
@return
*/
- (BOOL)directWriteFileType:(nonnull NSString *)path
data:(nonnull id)data
field:(DDFileField)field;
/**
doc,lib,temp中指定一处的相对位置path
@param path
@param img
@param imgType
@param field type
@return
*/
- (BOOL)directWriteFileType:(nonnull NSString *)path
img:(nonnull UIImage *)img
imageType:(DDImgType)imgType
field:(DDFileField)field;
/**
data流到本地doc,lib,temp中指定一处的相对位置path
@param path
@param data
@param field type
@return
*/
- (BOOL)writeFileType:(nonnull NSString *)path
data:(nonnull id)data
field:(DDFileField)field;
/**
path
@param path
@param img
@param imgType
@param field type
@return
*/
- (BOOL)writeFileType:(nonnull NSString *)path
img:(nonnull UIImage *)img
imageType:(DDImgType)imgType
field:(DDFileField)field;
#pragma mark - ***** 删除 *****
/**
NO
@param filePath
@return
*/
- (BOOL)removeFile:(nonnull NSString *)filePath;
/**
NO
@param dirPath
@return
*/
- (BOOL)removeDirFiles:(nonnull NSString *)dirPath;
#pragma mark - 读取文件操作
/**
niltype,type
@param filePath
@param type
@return
*/
- (nullable id)readFile:(nonnull NSString *)filePath
fileType:(DDFileType)type;
/**
filed相对路径下的文件niltype,type
@param filePath
@param type
@param field
@return
*/
- (nullable id)readFile:(nonnull NSString *)filePath
fileType:(DDFileType)type
fileField:(DDFileField)field;
/**
nscache内的缓存
*/
- (void)flushCache;
#pragma mark - 计算文件或文件夹大小操作
/**
@param filePath
@param type kb,mb,gb,tb
@return
*/
- (float)countFileSize:(nullable NSString *)filePath
fileSizeType:(DDSizeType)type;
/**
@param filePath
@param field
@param type kb,mb,gb,tb
@return
*/
- (float)countFileSize:(nullable NSString *)filePath
field:(DDFileField)field
fileSizeType:(DDSizeType)type;
/**
@param dirPath
@param type kb,mb,gb,tb
@return
*/
- (float)countDirSize:(nullable NSString *)dirPath
fileSizeType:(DDSizeType)type;
/**
@param dirPath
@param field
@param type kb,mb,gb,tb
@return
*/
- (float)countDirSize:(nullable NSString *)dirPath
field:(DDFileField)field
fileSizeType:(DDSizeType)type;
@end