obj-c讀取檔案方法合

來源:互聯網
上載者:User

 

第一種方法:

plist檔案是標準的xml檔案,在cocoa中可以很簡單地使用。以下代碼在Mac和iPhone中均適用。

 

寫入plist檔案的方法:

NSMutableDictionary* dict=[[NSMutableDictionaryalloc]
initWithContentsOfFile:@"/test.plist"];

[ dict
setObject:@"Yes"forKey:@"start"];

[ dict
writeToFile:@"/test.plist"atomically:YES];

讀取plist檔案的方法:

NSMutableDictionary* dict=  [[NSMutableDictionaryalloc]
initWithContentsOfFile:@"/test.plist"];

NSString*object=
[ dictobjectForKey:@"start"];

 

 第二種方法:

#import "ManagerFile.h"

@implementation ManagerFile

-(void)writeFile:(NSString *)file
{
    //建立檔案管理工具
    NSFileManager *fileManager = [NSFileManager defaultManager];
    //擷取路徑
    //參數NSDocumentDirectory要擷取那種路徑
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *documentsDirectory = [paths objectAtIndex:0];//去處需要的路徑   
    //更改到待操作的目錄下
    [fileManager changeCurrentDirectoryPath:[documentsDirectory stringByExpandingTildeInPath]];
    //建立檔案fileName檔案名稱,contents檔案的內容,如果開始沒有內容可以設定為nil,attributes檔案的屬性,初始為nil
    //擷取檔案路徑
    [fileManager removeItemAtPath:@"username" error:nil];
    NSString *path = [documentsDirectory stringByAppendingPathComponent:@"username"];
    //建立資料緩衝
    NSMutableData *writer = [[NSMutableData alloc] init];
    //將字串添加到緩衝中
    [writer appendData:];
    //將其他資料添加到緩衝中
    //將緩衝的資料寫入到檔案中
    [writer writeToFile:path atomically:YES];
    [writer release];
}
-(NSString *)readFile
{
    //建立檔案管理工具
    NSFileManager *fileManager = [NSFileManager defaultManager];
    //擷取路徑
    //參數NSDocumentDirectory要擷取那種路徑
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *documentsDirectory = [paths objectAtIndex:0];//去處需要的路徑   
    //更改到待操作的目錄下
    [fileManager changeCurrentDirectoryPath:[documentsDirectory stringByExpandingTildeInPath]];
    //擷取檔案路徑
    NSString *path = [documentsDirectory stringByAppendingPathComponent:@"username"];
    NSData *reader = [NSData dataWithContentsOfFile:path];
    return [[NSString alloc] initWithData:reader
                                 encoding:NSUTF8StringEncoding];
}
@end

 第三種方法:

得到一個捆綁檔案路徑主要在你的使用NSBundle的pathForResource:ofType:

NSBundle *mainBundle = [NSBundle mainBundle]; NSString *filePath = [mainBundle pathForResource:@"filename" ofType:@"txt"];

然後你可以閱讀一個檔案的NSString在這條道路將直接使用initWithContentsOfFile:usedEncoding:error:

NSStringEncoding encoding; NSError *error; NSString *fileContents = [[[NSString alloc] initWithContentsOfFile:filePath                                                       usedEncoding:&encoding                                                              error:&error]                           autorelease];

 

有時間我會整理一下,一些對檔案的操作"];

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.