2013-07-22 26 views

Odpowiedz

20

Dobrze, aby utworzyć plik, wystarczy użyć

[[NSFileManager defaultManager] createFileAtPath:@"Your/Path" contents:nil attributes:nil]; 

to tworzy pusty plik, który można pisać lub czytać. Aby napisać tekst (lub XML), wystarczy użyć writeToFile:atomically:encoding:error: metodę NSString jest jak ten

NSString *str = //Your text or XML 
[str writeToFile:"Your/Path" atomically:YES encoding:NSUTF8StringEncoding error:nil]; 

do odczytu z pliku, po prostu dokonać NSString z treścią tego pliku

NSString *contents = [NSString stringWithContentsOfFile:@"Your/Path"]; 

lub, jeśli nie zawiera ciąg, uzyskać obiektu NSData z pliku

NSData *contents = [NSData dataWithContentsOfFile:@"Your/Path"]; 
+0

Czy wiesz, gdzie przykład kodu? Dziękujemy – HTKT611

+0

? Co przez to rozumiesz? –

+0

Mam pytanie: Czy mogę używać struct do zapisywania danych w plikach? – HTKT611

5
/**************************main.m****************************** 
    NS FILE HANDLE READ & WRITE 
    reading and writing in same file 
    Created by abdulsathar on 6/16/14. 
***************************************************************/ 

#import <Foundation/Foundation.h> 
int main(int argc, const char * argv[]) 
{ 
    @autoreleasepool //ARC 
    { 
     NSFileHandle *file; 
     //object for File Handle 
     NSError *error; 
     //crearing error object for string with file contents format 
     NSMutableData *writingdatatofile; 
     //create mutable object for ns data 
     NSString *filePath=[NSString stringWithFormat:@"/Users/chandrakumar/Documents/abdul/doc.txt"]; 
     //telling about File Path for Reading for easy of access 
     file = [NSFileHandle fileHandleForReadingAtPath:@"/Users/chandrakumar/Documents/abdul/doc.txt"]; 
     //assign file path directory 
      if (file == nil) //check file exist or not 
       NSLog(@"Failed to open file"); 
     NSString *getfileContents = [NSString stringWithContentsOfFile:filePath encoding:NSUTF8StringEncoding error:&error]; 
     //access file contents with out ns handle method 
      if (error) //check error flag for file present or not 
       NSLog(@"Error reading file: %@", error.localizedDescription); 
     NSLog(@"contents: %@", getfileContents); 
     //display file contents in main file 
     NSArray *listArray = [getfileContents componentsSeparatedByString:@"\n"]; 
     //caluculate list of line present in files 
     NSLog(@"items = %ld", [listArray count]); 
     const char *writingchar = "how are you"; 
     writingdatatofile = [NSMutableData dataWithBytes:writingchar length:strlen(writingchar)]; 
     //convert string format into ns mutable data format 
     file = [NSFileHandle fileHandleForUpdatingAtPath: @"/Users/chandrakumar/Documents/abdul/new.txt"]; 
     //set writing path to file 
      if (file == nil) //check file present or not in file 
       NSLog(@"Failed to open file"); 
     [file seekToFileOffset: 6]; 
     //object pointer initialy points the offset as 6 position in file 
     [file writeData: writingdatatofile]; 
     //writing data to new file 
     [file closeFile]; 
     //close the file 
    } 
    return 0;`enter code here` 
} 

/***********************************OUTPUT******************************************** 

2014-06-17 14:55:39.695 storage[4075:303] contents: hello how are you my dearservice 

*************************************************************************************/