NSFileManagerクラス

2010. 10. 23
●概要

NSFileManagerクラスは、多くの一般的なファイルシステムの操作の実行を可能にし、基本的なファイルシステムからアプリケーションを分離します。

iOSとMac OS X v10.5以降では、シングルトンメソッドのdefaultManagerより[[NSFileManager alloc] init]の使用を検討してください。

NSFileManagerのインスタンスは、[[NSFileManager alloc] init]を使用して生成した時にスレッドセーフとみなされます。



●タスク

●ファイルマネージャの生成

– init
+ defaultManager

●アイテムの移動

– fileManager:shouldMoveItemAtPath:toPath:    delegate method
– fileManager:shouldMoveItemAtURL:toURL:    delegate method
– moveItemAtPath:toPath:error:
– moveItemAtURL:toURL:error:
– fileManager:shouldProceedAfterError:movingItemAtPath:toPath:    delegate method
– fileManager:shouldProceedAfterError:movingItemAtURL:toURL:    delegate method

●アイテムのコピー

– fileManager:shouldCopyItemAtPath:toPath:    delegate method
– fileManager:shouldCopyItemAtURL:toURL:    delegate method
– copyItemAtPath:toPath:error:
– copyItemAtURL:toURL:error:
– fileManager:shouldProceedAfterError:copyingItemAtPath:toPath:    delegate method
– fileManager:shouldProceedAfterError:copyingItemAtURL:toURL:    delegate method

●アイテムの削除

– fileManager:shouldRemoveItemAtPath:    delegate method
– fileManager:shouldRemoveItemAtURL:    delegate method
– removeItemAtPath:error:
– removeItemAtURL:error:
– fileManager:shouldProceedAfterError:removingItemAtPath:    delegate method
– fileManager:shouldProceedAfterError:removingItemAtURL:    delegate method

●アイテムの生成

– createDirectoryAtPath:withIntermediateDirectories:attributes:error:
– createFileAtPath:contents:attributes:
– createDirectoryAtPath:attributes:

●アイテムのリンク

– fileManager:shouldLinkItemAtPath:toPath:    delegate method
– fileManager:shouldLinkItemAtURL:toURL:    delegate method
– linkItemAtPath:toPath:error:
– linkItemAtURL:toURL:error:
– fileManager:shouldProceedAfterError:linkingItemAtPath:toPath:    delegate method
– fileManager:shouldProceedAfterError:linkingItemAtURL:toURL:    delegate method

●シンボリックリンクの操作

– createSymbolicLinkAtPath:withDestinationPath:error:
– destinationOfSymbolicLinkAtPath:error:
– createSymbolicLinkAtPath:pathContent:
– pathContentOfSymbolicLinkAtPath:

●ファイル操作の処理

– fileManager:shouldProceedAfterError:    delegate method
– fileManager:willProcessPath:    delegate method

●ファイルコンテンツの取得と比較

– contentsAtPath:
– contentsEqualAtPath:andPath:

●ディレクトリコンテンツの発掘

– mountedVolumeURLsIncludingResourceValuesForKeys:options:
– contentsOfDirectoryAtURL:includingPropertiesForKeys:options:error:
– contentsOfDirectoryAtPath:error:
– enumeratorAtPath:
– enumeratorAtURL:includingPropertiesForKeys:options:errorHandler:
– subpathsAtPath:
– subpathsOfDirectoryAtPath:error:
– directoryContentsAtPath:

●ファイルへのアクセスの決定

– fileExistsAtPath:
– fileExistsAtPath:isDirectory:
– isReadableFileAtPath:
– isWritableFileAtPath:
– isExecutableFileAtPath:
– isDeletableFileAtPath:

●属性の取得と設定

– componentsToDisplayForPath:
– displayNameAtPath:
– attributesOfItemAtPath:error:
– attributesOfFileSystemForPath:error:
– setAttributes:ofItemAtPath:error:
– changeFileAttributes:atPath:
– fileAttributesAtPath:traverseLink:
– fileSystemAttributesAtPath:

●ファイルパスの表現の取得

– fileSystemRepresentationWithPath:
– stringWithFileSystemRepresentation:length:

●デリゲートの管理

– setDelegate:
– delegate

●現在のディレクトリの管理

– changeCurrentDirectoryPath:
– currentDirectoryPath

●システムディレクトリの位置決め

– URLForDirectory:inDomain:appropriateForURL:create:error:
– URLsForDirectory:inDomains:

●安全なファイルの置換

– replaceItemAtURL:withItemAtURL:backupItemName:options:resultingItemURL:error:



●クラスメソッド

defaultManager

+ (NSFileManager *)defaultManager

ファイルシステムのデフォルトNSFileManagerオブジェクトを返します。

常にファイルマネージャの同じインスタンスを返します。

このオブジェクトはスレッドセーフではありません。



●インスタンスメソッド

contentsOfDirectoryAtPath:error:

- (NSArray *)contentsOfDirectoryAtPath:(NSString *)path error:(NSError **)error

指定したディレクトリに含まれるディレクトリとファイル(シンボリックリンクを含む)を返します。

指定したパスに何も無かった場合は空の配列を返します。

指定したパスが存在しない、または他のアクセスエラーが発生した場合はnilを返します。

検索は浅く、サブディレクトリ下の内容は返しません。

返される配列には、カレントディレクトリの『"."』、親ディレクトリの『".."』、『"._"』で始まるリソースフォーク、シンボリックリンクの参照先は含みません。

path:取得するディレクトリのパスを指定します。

error:エラーが発生した場合、その説明をNSErrorオブジェクトに格納します。
エラー情報を取得しない場合はNULLを指定します。


fileExistsAtPath:

- (BOOL)fileExistsAtPath:(NSString *)path

指定したパスのファイルまたはディレクトリが存在するかどうかを示すブール値を返します。

戻り値は、pathで指定したファイルが存在する場合はYES、そうでない場合はNOを返します。

指定したpathの最後の要素がシンボリックリンクの場合、このメソッドはリンクを横断し、リンク先にファイルが存在するかどうかを元にYESかNOかを返します。

ファイルシステムの現在の状態やファイルシステム上の個々のファイルを元に、断定した動作を試みることは推奨しません。

実行すると、ファイルシステムが競合状態の場合に異常動作が発生する可能性があります。

(ファイルの読み込みやディレクトリの生成などの)操作を試すよりも、操作が成功するかどうかを事前に把握しようと試して、エラー処理やエラーのチェックをする方が遥かに良いです。

ファイルシステムの競合状態に関する詳細は、『Secure Coding Guide』の『Avoiding Race Conditions and Insecure File Operations』を参照してください。

path:ディレクトリやファイルのパスを指定します。
pathがチルダ『~』で始まる場合は、最初にstringByExpandingTildeInPathで展開するか、このメソッドでNOを返す必要があります。


URLsForDirectory:inDomains:

- (NSArray *)URLsForDirectory:(NSSearchPathDirectory)directory inDomains:(NSSearchPathDomainMask)domainMask

要求された場所内にある指定された共有ディレクトリのURLの配列を返します。

戻り値は検索された順番のディレクトリを含むURLの配列です。

このメソッドは、システム内の既知な共有ディレクトリの場所を決定することを意図しています。

例えば、NSApplicationDirectoryへのディレクトリを設定すると、要求された場所内のアプリケーションディレクトリを返します。

NSSearchPathDirectoryで利用できる共有ディレクトリには、NSDesktopDirectoryNSApplicationSupportDirectoryなど多数あります。

directory:検索パスのディレクトリを指定します。
サポートされる値はNSSearchPathDirectoryで説明されています。

domainMask:検索を行う場所を指定します。
定数はNSSearchPathDomainMaskで指定されています。



●デリゲートメソッド



●定数



参考文献

NSFileManager Class Reference






Bose SoundLink around-ear wireless headphones II
0 Comments
Leave a comment
管理者にだけ表示を許可する
Top
0 Trackbacks
Top
Calendar
06 | 2017/07 | 08
Sun Mon Tue Wed Thu Fri Sat
- - - - - - 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 - - - - -
Recent Articles
iTunes


Swift
Categories
Tips
Profile

水月杏香

Author:水月杏香
永遠の初心者プログラマ。

Wish List
WACOM


ARC
Technical Q&A
情報プロパティリストキー
Start Developing iOS Apps Today
BOSE

Bose SoundLink around-ear wireless headphones II
Reference
NSApplicationDelegateプロトコル
NSArrayクラス
NSAutoreleasePoolクラス
NSBundleクラス
NSBundle UIKit追加分
NSCalendarクラス
NSCoderクラス
NSCodingプロトコル
NSCopyingプロトコル
NSDataクラス
NSDateクラス
NSDateFormatterクラス
NSDictionaryクラス
NSEntityDescriptionクラス
NSEnumeratorクラス
NSErrorクラス
NSExceptionクラス
NSFetchRequestクラス
NSFileHandleクラス
NSFileManagerクラス
NSIndexPathクラス
NSIndexPath UIKit追加分
NSKeyedArchiverクラス
NSKeyedUnarchiverクラス
NSKeyValueCodingプロトコル
NSLocaleクラス
NSManagedObjectクラス
NSManagedObjectContextクラス
NSManagedObjectModelクラス
NSMutableArrayクラス
NSMutableCopyingプロトコル
NSMutableDictionaryクラス
NSMutableSetクラス
NSNotificationクラス
NSNotificationCenterクラス
NSNullクラス
NSNumberクラス
NSObjectクラス
NSObject UIKit追加分
NSObjectプロトコル
NSPersistentStoreクラス
NSPersistentStoreCoordinatorクラス
NSPredicateクラス
NSPropertyListSerializationクラス
NSRunLoopクラス
NSSetクラス
NSStringクラス
NSString UIKit追加分
NSTimerクラス
NSTimeZoneクラス
NSURLクラス
NSURLProtectionSpaceクラス
NSURLRequestクラス
NSUserDefaultsクラス
NSValueクラス

UIActionSheetクラス
UIActionSheetDelegateプロトコル
UIActivityIndicatorViewクラス
UIAlertViewクラス
UIAlertViewDelegateプロトコル
UIApplicationクラス
UIApplicationDelegateプロトコル
UIBarButtonItemクラス
UIBarItemクラス
UIButtonクラス
UIColorクラス
UIControlクラス
UIDatePickerクラス
UIDeviceクラス
UIEventクラス
UIFontクラス
UIGestureRecognizerクラス
UIImageクラス
UIImageViewクラス
UIKit Function
UILabelクラス
UINavigationControllerクラス
UINavigationItemクラス
UIPickerViewクラス
UIPickerViewDataSourceプロトコル
UIPickerViewDelegateプロトコル
UIPinchGestureRecognizerクラス
UIResponderクラス
UIScreenクラス
UIScrollViewクラス
UISearchBarクラス
UISearchBarDelegateプロトコル
UISegmentedControlクラス
UISliderクラス
UISwipeGestureRecognizerクラス
UISwitchクラス
UITableViewクラス
UITableViewCellクラス
UITableViewControllerクラス
UITableViewDataSourceプロトコル
UITableViewDelegateプロトコル
UITapGestureRecognizerクラス
UITextFieldクラス
UITextFieldDelegateプロトコル
UITextInputTraitsプロトコル
UITextViewクラス
UITextViewDelegateプロトコル
UIToolbarクラス
UITouchクラス
UIViewクラス
UIViewControllerクラス
UIWebViewクラス
UIWebViewDelegateプロトコル
UIWindowクラス

AVAudioPlayerクラス
AVAudioPlayerDelegateプロトコル

CADisplayLinkクラス
CAEAGLLayerクラス
CALayerクラス

CGAffineTransform
CGBitmapContext
CGColor
CGColorSpace
CGContext
CGGeometry
CGImage
CGPath

EAGLContextクラス
EAGLDrawableプロトコル

Foundation Constants
Foundation Data Types
Foundation Functions

MPMediaItemクラス
MPMediaItemArtworkクラス
MPMediaPlaylistクラス
MPMediaPropertyPredicateクラス
MPMediaQueryクラス
MPMusicPlayerControllerクラス

Randomization Services

System Sound Services
Amazon


OpenGL ES
SQLite
Monthly Archives
Recent Comments
Recent TrackBacks
RSS Link
Visitors
QR Code
QR