[프로그램] ios file write

 ios file write

ios file write

 위의 info.plist에서 가장 상단에 있는
두개의 권한을 반드시 허용해주어야 합니다.


 추가하는 방법은 상단에 Key 바로 밑에 Information Property List 에 마우스를 가져다대면 + 버튼이 생기는 것을 보실 수 있습니다. 거기에서 + 버튼을 클릭해 직접 타이핑 하면 자동 완성으로 뜰테니 거기서 선택하시면 됩니다.
ios file write


| 소스 코드

파일 메니져 가져오기  

NSFileManage * fileManager = [NSFileManager defaultManager];

 
현재 폴더 가져오기 

NSFileManage * fileManager = [NSFileManager defaultManager];
NSString *currentPath = [fileManager currentDirectoryPath]; 


Documents 폴더 가져오기

NSFileManager * fileManager = [NSFileManager defaultManager];
NSArray *dirPath = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString documentPath = [dirPath objectAtIndex:0]; 

 
현재 폴더 이동 

NSFileManage * fileManager = [NSFileManager defaultManager];
NSArray *dirPath = NSSearchPathForDirectoriesInDomains(NSDocument, NSUserDomainMask, YES);

NSString documentPath = [dirPath objectAtIndex:0]; 

if ([fileManager changeCurrentDirectoryPath:documentPath] == NO){
  // 폴더 이동 못함
} else {
 // 폴더 이동함 

 
폴더 생성  

NSFileManage * fileManager = [NSFileManager defaultManager];

NSString *newDir = @"/test";
if (fileManager 
createDirectoryAtPath:newDir withIntermediateDirectories:YES attributes:nilerror:NULL] == NO){
  //  newDir 폴더 생성 실패
} else {
  // newDir 폴더 생성 성공 
}


폴더 삭제  

NSFileManage * fileManager = [NSFileManager defaultManager]
NSString *delDir = @"/test";
if (fileManager removeItem
AtPath:delDir error:NULL] == NO){
  //  delDir 폴더 삭제 실패
} else {
  // delDir 폴더 삭제 성공 

 
폴더 내의 목록 표시  

NSFileManage * fileManager = [NSFileManager defaultManager];
NSArray *dirPath = NSSearchPathForDirectoriesInDomains(NSDocument, NSUserDomainMask, YES);
NSString *documentPath = [dirPath objectAtIndex:0]; 

NSArray *filelist = [fileManager contentsOfDirectoryAtPath: documentPath error:NULL]; 

 
파일/폴더 속성 정보 확인  

NSFileManage * fileManager = [NSFileManager defaultManager];
NSString *attDir = @"/";
NSDictionary *attributes;
attributes = [fileManager attributesOfItemAtPath:attDir error:NULL];

NSLog(@"파일 정보 : %@", [attributes objectForKey:NSFileType]); 


정의된 속성 정보 

FOUNDATION_EXPORT NSString * const NSFileType;

FOUNDATION_EXPORT NSString * const NSFileTypeDirectory;

FOUNDATION_EXPORT NSString * const NSFileTypeRegular;

FOUNDATION_EXPORT NSString * const NSFileTypeSymbolicLink;

FOUNDATION_EXPORT NSString * const NSFileTypeSocket;

FOUNDATION_EXPORT NSString * const NSFileTypeCharacterSpecial;

FOUNDATION_EXPORT NSString * const NSFileTypeBlockSpecial;

FOUNDATION_EXPORT NSString * const NSFileTypeUnknown;

FOUNDATION_EXPORT NSString * const NSFileSize;

FOUNDATION_EXPORT NSString * const NSFileModificationDate;

FOUNDATION_EXPORT NSString * const NSFileReferenceCount;

FOUNDATION_EXPORT NSString * const NSFileDeviceIdentifier;

FOUNDATION_EXPORT NSString * const NSFileOwnerAccountName;

FOUNDATION_EXPORT NSString * const NSFileGroupOwnerAccountName;

FOUNDATION_EXPORT NSString * const NSFilePosixPermissions;

FOUNDATION_EXPORT NSString * const NSFileSystemNumber;

FOUNDATION_EXPORT NSString * const NSFileSystemFileNumber;

FOUNDATION_EXPORT NSString * const NSFileExtensionHidden;

FOUNDATION_EXPORT NSString * const NSFileHFSCreatorCode;

FOUNDATION_EXPORT NSString * const NSFileHFSTypeCode;

FOUNDATION_EXPORT NSString * const NSFileImmutable;

FOUNDATION_EXPORT NSString * const NSFileAppendOnly;

FOUNDATION_EXPORT NSString * const NSFileCreationDate;

FOUNDATION_EXPORT NSString * const NSFileOwnerAccountID;

FOUNDATION_EXPORT NSString * const NSFileGroupOwnerAccountID;


파일 존재 확인 

NSFileManage * fileManager = [NSFileManager defaultManager];
NSString *extDir = @"/test.txt";
if (fileManager fileExistAtPath:extDir] == YES){
  // 파일 존재 
} else {
  // 파일 없음 


파일 내용 비교 

NSFileManage * fileManager = [NSFileManager defaultManager];
NSString *firstFile = @"/test.txt";
NSString *secondFile = "@"/my.txt";

if (fileManager contentEqualAtPath:firstFile andPath:secondFile] == YES){
  // 파일 내용 같음 
} else {
  // 파일 내용 다름 
}


파일 이동 또는 이름 변경 

NSFileManage * fileManager = [NSFileManager defaultManager];
NSString *firstFile = @"/test.txt";
NSString *secondFile = "@"/my.txt";

if (fileManager moveItemAtPath:firstFile toPath:secondFile error:NULL] == YES){
  // 파일 이동/이름 변경 성공
} else {
  // 파일 이동/이름 변경 실패
}

 
파일 복사 

NSFileManage * fileManager = [NSFileManager defaultManager];
NSString *firstFile = @"/test.txt";
NSString *secondFile = "@"/my.txt";

if (fileManager copyAtPath:firstFile toPath:secondFile error:NULL] == YES){
  // 파일 복사 성공
} else {
  // 파일 복사 실패
}


파일 읽기(NSData 타입) 

NSFileManage * fileManager = [NSFileManager defaultManager];
NSString *firstFile = @"/test.txt";
NSData * dataBuffer = [fileManager contentsAtPath:firstFile]; 

 
파일 생성(NSData 타입 읽고 쓰기 -복사 기존 파일 존재시 overwrite 된다.) 

NSFileManage * fileManager = [NSFileManager defaultManager];
NSString *firstFile = @"/test.txt";
NSData * dataBuffer = [fileManager contentsAtPath:firstFile]; 
NSString *secondFile = @"/my.txt"
[fileManager createFileAtPath:secondFile contents:dataBuffer attributes:NULL]; 

댓글

이 블로그의 인기 게시물

[컴퓨터] Office 무료 설치

[컴퓨터] iptime 관리자계정 찾기 및 설정

[주식] 레버리지 ETF/ETN 사전교육 이수방법 및 등록