iOS文件操作

一直在倒騰iOS逆向,逆向水平受限于正向水平。邊學iOS開發(fā)邊學逆向,感覺這個過程有點艱辛。平時寫代碼寫得不是很多,然后每次需要用iOS文件操作的時候,總是需要百度Google。因此,想封裝一個iOS文件操作工具類,不知道自己這樣子封裝好不好,畢竟沒有大項目的開發(fā)經(jīng)驗,也不一定直接用這個來操作吧,只是方便自己用來查閱,免得每次都需要百度Google。

- 獲取應(yīng)用沙盒根目錄
+(NSString *)YYHomeDirectory{
    return NSHomeDirectory();
}

//獲取Documents目錄
+(NSString *)YYDocumentsDirectory{
    //[NSHomeDirectory() stringByAppendingPathComponent:@"Documents"];
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *documentsDirectory = [paths objectAtIndex:0];
    return documentsDirectory;
}

//獲取Tmp目錄
+(NSString *)YYTmpDirectory{
    //[NSHomeDirectory() stringByAppendingPathComponent:@"tmp"];
    NSString *tmpDirectory = NSTemporaryDirectory();
    return tmpDirectory;
}

//獲取Cache目錄
+(NSString *)YYCacheDirectory{
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES);
    NSString *cacheDirectory = [paths objectAtIndex:0];
    return cacheDirectory;
}

//獲取Library目錄
+(NSString *)YYLibraryDirectory{
    //[NSHomeDirectory() stringByAppendingPathComponent:@"Library"];
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES);
    NSString *libraryDirectory = [paths objectAtIndex:0];
    return libraryDirectory;
}

#pragma mark --Documents下的文件操作
//得到Documents里的文件路徑
+ (NSString *)getFilePathAtDocuments:(NSString *)fileName{
    return [[self YYDocumentsDirectory] stringByAppendingPathComponent:fileName];
}

//刪除Documents里的文件
+ (BOOL)deleteFileAtDocuments:(NSString *)fileName{
    NSString *filePath = [[self YYDocumentsDirectory] stringByAppendingPathComponent:fileName];
    NSFileManager *fileManager = [NSFileManager defaultManager];
    if(![fileManager fileExistsAtPath:filePath])
    {
        return NO;
    }
    [fileManager removeItemAtPath:filePath error:nil];
    return YES;
}

//創(chuàng)建指定名字的文件
+ (BOOL)createFileAtDocuments:(NSString *)fileName{
    NSString *filePath = [[self YYDocumentsDirectory] stringByAppendingPathComponent:fileName];
    NSFileManager *fileManager = [NSFileManager defaultManager];
    if(![fileManager fileExistsAtPath:filePath]){
        [fileManager createFileAtPath:filePath contents:nil attributes:nil];
        return YES;
    }
    return NO;
}

//創(chuàng)建指定名字的文件夾
+ (BOOL)createDirectoryAtDocuments:(NSString *)fileName{
    NSString *filePath = [[self YYDocumentsDirectory] stringByAppendingPathComponent:fileName];
    NSFileManager *fileManager = [NSFileManager defaultManager];
    if(![fileManager fileExistsAtPath:filePath]){
        NSError *error = nil;
        [fileManager createDirectoryAtPath:filePath withIntermediateDirectories:YES attributes:nil error:&error];
        return YES;
    }
    return NO;
}

//文件是否存在
+ (BOOL)isFileExistsAtDocuments:(NSString *)fileName{
    NSString *filePath = [[self YYDocumentsDirectory] stringByAppendingPathComponent:fileName];
    NSFileManager *fileManager = [NSFileManager defaultManager];
    if(![fileManager fileExistsAtPath:filePath]){
        return NO;
    }
    return YES;
}

//寫文件
+(BOOL)writeFileAtDocumentsWithName:(NSString *) fileName AndContent:(NSString *)content{
    
    NSString *iOSPath = [[self YYDocumentsDirectory] stringByAppendingPathComponent:fileName];
    BOOL isSuccess = [content writeToFile:iOSPath atomically:YES encoding:NSUTF8StringEncoding error:nil];
    return isSuccess;
}

//讀文件
+ (NSString*)readFileContentAtDocumentsWithName:(NSString*)fileName{
    NSString *filePath = [[self YYDocumentsDirectory] stringByAppendingPathComponent:fileName];
    NSString *content = [NSString stringWithContentsOfFile:filePath encoding:NSUTF8StringEncoding error:nil];
    return content;
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容