앱을 만들다보면 아주 가끔이지만 텍스트 파일을 다뤄야 할 때가 있다.
1. 파일 생성 및 저장
다음은 Documents Directory에 파일을 저장하는 방법이다.
// 경로
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *filePath = [documentsDirectory stringByAppendingPathComponent:@"test.txt"];
// 컨텐츠
NSString *content = @"테스트로 저장해요.";
NSError *err = NULL;
// 파일 저장
[content writeToFile:filePath
atomically:NO
encoding:NSUTF8StringEncoding
error:&err];
2. 파일 읽기
파일을 읽을 때에는 이렇게 읽는다.
// 경로
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *filePath = [documentsDirectory stringByAppendingPathComponent:@"test.txt"];
// 컨텐츠 읽기
NSString *content = [NSString stringWithContentsOfFile:filePath encoding:NSUTF8StringEncoding error: NULL];
3. 파일명 변경
파일명을 변경하려면 다음과 같이 변경할 수 있다.
// 경로
NSFileManager *fileManager = [NSFileManager defaultManager];
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
// 해당 파일 경로
NSString *oldPath = [documentsDirectory stringByAppendingPathComponent:@"test.txt"];
NSString *newPath = [documentsDirectory stringByAppendingPathComponent:@"renamed.txt"];
// 파일명 변경
NSError *err = NULL;
[fileManager moveItemAtPath:oldPath toPath:newPath error:&err];
// 경로
NSFileManager *fileManager = [NSFileManager defaultManager];
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
[fileManager removeItemAtPath:[documentsDirectory stringByAppendingPathComponent:@"renamed.txt"] error:NULL];