文件管理iOS類FileManager

b4c2 9年前發布 | 4K 次閱讀 C/C++ 文件管理

FileManager.h文件:

import <Foundation/Foundation.h>

@interface FileManager : NSObject

+(BOOL)fileExistsAtPath:(NSString *)path;

+(NSString *)getDocumentsPath;

+(BOOL)createDirectoryWithPath:(NSString *)path;

+(BOOL)removeFileAtPath:(NSString *)filePath;

+(BOOL)renameFileName:(NSString )oldName toNewName:(NSString )newName;

+(NSData )readFileContent:(NSString )filePath;

+(BOOL)saveToDirectory:(NSString )path data:(NSData )data name:(NSString *)newName;

+(float)getFileSize:(NSString *)filePath;

@end

FileManager.m文件:

import "FileManager.h"

@class NSFileManager;

define DocumentsPath [self getDocumentsPath]

@implementation FileManager

//判斷目錄是否存在

+(BOOL)fileExistsAtPath:(NSString *)path

{

return [[NSFileManager defaultManager] fileExistsAtPath:path];

}

//獲取Documents路徑

+(NSString *)getDocumentsPath

{

NSArray * paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);

NSString * documentsDirectory = [paths objectAtIndex:0];

return documentsDirectory;

}

//在Documents目錄下創建新目錄或文件

+(BOOL)createDirectoryWithPath:(NSString *)path

{

BOOL result = NO;

NSFileManager * fileManager = [NSFileManager defaultManager];

NSString * myDirectory = [DocumentsPath stringByAppendingPathComponent:path];

if ([fileManager fileExistsAtPath:myDirectory] == NO) {

    NSError * error = nil;

            result=[fileManager createDirectoryAtPath:myDirectory withIntermediateDirectories:NO attributes:nil error:&error];

    if (error) {

        NSLog(@"創建目錄失敗:%@",[error localizedDescription]);

    }


}

return result;

}

//刪除目錄或文件

+(BOOL)removeFileAtPath:(NSString *)filePath

{

BOOL result = NO;

NSError * error = nil;

NSString * fullPath = [DocumentsPath stringByAppendingPathComponent:filePath];

result = [[NSFileManager defaultManager] removeItemAtPath:fullPath error:&error];

if (error)

{

    NSLog(@"刪除失敗:%@",[error localizedDescription]);

}

return result;

}

//重命名目錄或文件

+(BOOL)renameFileName:(NSString )oldName toNewName:(NSString )newName

{

BOOL result = NO;

NSError * error = nil;

result = [[NSFileManager defaultManager] moveItemAtPath:[DocumentsPath stringByAppendingPathComponent:oldName] toPath:[DocumentsPath stringByAppendingPathComponent:newName] error:&error];

if (error) {

    NSLog(@"重命名失敗:%@",[error localizedDescription]);

}

return result;

}

//讀取某個文件

+(NSData )readFileContent:(NSString )filePath

{

return [[NSFileManager defaultManager] contentsAtPath:[DocumentsPath stringByAppendingPathComponent:filePath]];

}

//保存某個文件

+(BOOL)saveToDirectory:(NSString )path data:(NSData )data name:(NSString *)newName

{

return [[NSFileManager defaultManager] createFileAtPath:[DocumentsPath stringByAppendingPathComponent:[path stringByAppendingPathComponent:newName]] contents:data attributes:nil];



}

//計算文件大小

+(float)getFileSize:(NSString *)filePath

{

NSError * error = nil;

NSDictionary * attributes = [NSDictionary dictionaryWithDictionary:[[NSFileManager defaultManager] attributesOfItemAtPath:[DocumentsPath stringByAppendingPathComponent:filePath] error:&error]];

if (attributes != nil)

{

    return [[attributes objectForKey:NSFileSize] floatValue];

}

if (error) {

    NSLog(@"計算文件大小失敗:%@",[error localizedDescription]);

}

return 0;

}

@end

</pre>

 本文由用戶 b4c2 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!