Cocoa API解説(macOS/iOS)

iOS , Mac アプリケーション開発のために使われる主要フレームワークの日本語情報です。

目次

fileExistsAtPath:isDirectory:

ファイルが実際に存在しているか、またディレクトリ(フォルダ)かどうかを返します
-(BOOL)fileExistsAtPath:(NSString *)path:
             isDirectory:(BOOL *)isDirectory:

解説

ファイルが実際に存在しているかを返します。
それがディレクトリ(フォルダ)かどうかも返します。
指定したパスがシンボリックリンク(ファイルエイリアス)なら、リンクを辿って実際にファイルがあるか返します。
フォルダがパッケージかを知りたいときはNSWorkspaceのisFilePackageAtPathを使います。

返り値

( BOOL )

YES/NO

引数

( NSString * )path

パス

( BOOL * )isDirectory

ディレクトリか

クラス

NSFileManager

Instance Methods

使用可能

10.0

参照

- fileExistsAtPath:

例文

#import "MyObject.h"

@implementation MyObject

- (IBAction)myAction:(id)sender
{
BOOL isFolder;
NSString *str = @"~/";
NSFileManager *myFile = [ NSFileManager defaultManager];
//ファイル属性
NSDictionary *dic = [NSDictionary dictionaryWithObjectsAndKeys:
            [NSDate date],NSFileModificationDate,
            @"owner",@"NSFileOwnerAccountName",
            @"group",@"NSFileGroupOwnerAccountName",
            nil,@"NSFilePosixPermissions",
            [NSNumber numberWithBool:YES],@"NSFileExtensionHidden",
            nil];
//書き込むデータ
NSString *str2 = @"Mutable data";

NSMutableData *dat1 = [[[NSMutableData alloc] autorelease] initWithCapacity:1];
[dat1 appendBytes:[str2 cString] length:[str2 cStringLength]];

[myFile changeCurrentDirectoryPath:[str stringByExpandingTildeInPath]];
//ファイル作成
[myFile createFileAtPath:@"createdNewFile" contents:dat1 attributes:dic];

if ([myFile fileExistsAtPath:@"createdNewFile" isDirectory:&isFolder]){
    NSLog(@"YES");
    if (isFolder){
    NSLog(@"Folder");
    }else{
    NSLog(@"File");
    }
}else{
NSLog(@"NO");
}


}

@end