以下のコードはエラー処理を省いていますので、注意して下さい。
// 適当なリソース読み出し UIImage *image = [UIImage imageNamed:@"Green.png"]; NSData *data = UIImagePNGRepresentation(image); // ドキュメントフォルダにファイルとして書き出す NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString *documentsDirectory = [paths objectAtIndex:0]; NSString *fullPath = [documentsDirectory stringByAppendingPathComponent:@"savegreen.png"]; [data writeToFile:fullPath atomically:YES]; // 上で保存したファイルのアトリビュート取得 NSFileManager *fileManager = [NSFileManager defaultManager]; NSDictionary *attribute = [fileManager attributesOfItemAtPath:fullPath error:nil]; NSLog(@"attribute = %@",attribute); // 編集日時を今から1日前に変更してみる // 変更したいアトリビュートをキー:値のペアにして新しい辞書を作る NSDate *yesterday = [NSDate dateWithTimeIntervalSinceNow:-60*60*24]; NSDictionary *changeAttribute = @{NSFileModificationDate: yesterday}; [fileManager setAttributes:changeAttribute ofItemAtPath:fullPath error:nil]; // 確認 attribute = [fileManager attributesOfItemAtPath:fullPath error:nil]; NSLog(@"changed attribute = %@",attribute);
実行結果は以下のようになりました。
アトリビュートを設定し直した後のログで、太字の部分が変更されているのが確認できます。
2013-12-15 16:48:17.168 Test[35203:a0b] attribute = { NSFileCreationDate = "2013-12-15 07:48:17 +0000"; NSFileExtensionHidden = 0; NSFileGroupOwnerAccountID = 20; NSFileGroupOwnerAccountName = staff; NSFileModificationDate = "2013-12-15 07:48:17 +0000"; NSFileOwnerAccountID = 501; NSFilePosixPermissions = 420; NSFileReferenceCount = 1; NSFileSize = 1407; NSFileSystemFileNumber = 46416116; NSFileSystemNumber = 16777218; NSFileType = NSFileTypeRegular; } 2013-12-15 16:48:17.169 Test[35203:a0b] changed attribute = { NSFileCreationDate = "2013-12-14 07:48:17 +0000"; NSFileExtensionHidden = 0; NSFileGroupOwnerAccountID = 20; NSFileGroupOwnerAccountName = staff; NSFileModificationDate = "2013-12-14 07:48:17 +0000"; NSFileOwnerAccountID = 501; NSFilePosixPermissions = 420; NSFileReferenceCount = 1; NSFileSize = 1407; NSFileSystemFileNumber = 46416116; NSFileSystemNumber = 16777218; NSFileType = NSFileTypeRegular; }
0 件のコメント:
コメントを投稿