文件管理類【NSFileManager】

文件管理類【NSFileManager】是一個單例類?

?對文件本身的操作對文件進行管理,必須要獲取文件管理器NSFileManager類的單例對象NSFileManager * fm = [NSFileManager defaultManager];

?<1>創(chuàng)建文件管理器單例對象 NSFileManager * fm = [NSFileManager defaultManager];?

?<2>遍歷目錄下的內(nèi)容?

?//淺度遍歷( )

?- (NSArray *)contentsOfDirectoryAtPath:(NSString *)path error:(NSError **)error;?

?//深度遍歷(當前文件夾里所有文件名和文件夾名) - (NSArray *)subpathsOfDirectoryAtPath:(NSString *)path error:(NSError **)error?

?<3>創(chuàng)建文件?

?//創(chuàng)建普通文件?

?- (BOOL)createFileAtPath:(NSString *)path contents:(NSData *)data attributes:(NSDictionary *)attr;?

?//創(chuàng)建目錄?

?- (BOOL)createDirectoryAtPath:(NSString *)path withIntermediateDirectories:(BOOL)createIntermediates attributes:(NSDictionary *)attributes error:(NSError **)error ;

<4>拷貝文件/目錄

?- (BOOL)copyItemAtPath:(NSString *)srcPath toPath:(NSString *)dstPath error:(NSError **)error ;?

<5>移動文件/目錄

?- (BOOL)moveItemAtPath:(NSString *)srcPath toPath:(NSString *)dstPath error:(NSError **)error ;?

?<6>刪除文件/目錄?

?- (BOOL)removeItemAtPath:(NSString *)path error:(NSError **)error;?

?<7>獲取文件屬性

?- (NSDictionary *)attributesOfItemAtPath:(NSString *)path error:(NSError **)error;

?<8>判斷文件是否存在

?- (BOOL)fileExistsAtPath:(NSString *)path;

?【NSData】二進制數(shù)據(jù) //把字符串轉(zhuǎn)化為NSData(****重要****)? ? ? ??

NSString *str = @"aaaaa"; ? ? ? ??

?NSData *data = [str dataUsingEncoding:NSUTF8StringEncoding];?

?//NSData 轉(zhuǎn)化為字符串(*****重要****) ? ? ? ?? ? ? ? NSString *newStr = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];?

?二 對文件內(nèi)容的修改文件句柄類【NSFileHandle】 不是一個單例類文件的代言人,是個對象,象征文件 從文件句柄里讀取信息,就是從文件中讀取信息 往文件句柄里寫入信息,就是向文件中寫入信息 對文件進行讀寫首先需要NSFileHandle打開文件 NSFileHandle對文件進行讀寫都是NSData類型的二進制數(shù)據(jù) NSFileHandle方法:

?<1>打開文件方法()?

?NSFileHandle *readFh = [NSFileHandle fileHandleForUpdatingAtPath:filePath];?

?//以只讀方式打開 ??

? + (id)fileHandleForReadingAtPath:(NSString *)path;?

?//以只寫方式打開?

?+ (id)fileHandleForWritingAtPath:(NSString *)path;?

?//以讀寫方式打開

?+ (id)fileHandleForUpdatingAtPath:(NSString *)path;

?//剛打開的文件偏移量為0

?<2>從偏移量開始讀指定長度的數(shù)據(jù),每讀一次都會改變偏移量?

?- (NSData *)readDataOfLength:(NSUInteger)length;?

?<3>從當前偏移量讀到文件尾

?- (NSData *)readDataToEndOfFile;

?<4>設置文件偏移量

?- (void)seekToFileOffset:(unsigned long long)offset;?

?<5>將文件偏移量定位到文件尾?

?- (unsigned long long)seekToEndOfFile;

?<6>將文件的長度設置為offset大小(單位為字節(jié))

?- (void)truncateFileAtOffset:(unsigned long long)offset;?

?<7>寫文件(會從文件偏移量開始用覆蓋模式寫)?

?- (void)writeData:(NSData *)data; ?

?<8>截斷原數(shù)據(jù)到指定字節(jié)數(shù)

?- (void)truncateFileAtOffset:(unsigned long long)offset; ??

<9> 把要二進制文件立即同步寫入到磁盤

- (void)synchronizeFile;

?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

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

  • 一、iOS中的沙盒機制 iOS應用程序只能對自己創(chuàng)建的文件系統(tǒng)讀取文件,這個獨立、封閉、安全的空間,叫做沙盒。它一...
    1d5cb7cff98d閱讀 1,873評論 0 0
  • iOS開發(fā)-文件管理(一) 一、iOS中的沙盒機制 iOS應用程序只能對自己創(chuàng)建的文件系統(tǒng)讀取文件,這個獨立、封閉...
    MacShare閱讀 1,867評論 0 6
  • iOS開發(fā)-文件管理(一) 一、iOS中的沙盒機制 iOS應用程序只能對自己創(chuàng)建的文件系統(tǒng)讀取文件,這個獨立、封閉...
    Friez平板支撐閱讀 4,701評論 0 1
  • 一、iOS中的沙盒機制 iOS應用程序只能對自己創(chuàng)建的文件系統(tǒng)讀取文件,這個獨立、封閉、安全的空間,叫做沙盒。它一...
    tzhtodd閱讀 1,348評論 0 2
  • 沙盒機制 沙盒的概念 沙盒是每一個iOS應用程序都會自動創(chuàng)建的一個文件系統(tǒng)目錄(文件夾),而且沙盒還具有獨立、封閉...
    陵無山閱讀 1,560評論 0 2

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