私はobjective-cで新しいです。 NSStringに含まれるファイルへのパスがあり、ファイルサイズを取得します。私はこのexampleを見つけて、deprecatedコードをattributesOfItemAtPathで変更します。error:パスは常に無効です。与えられたファイルサイズを取得
NSFileManager *fileManager = [[NSFileManager alloc] init];
NSString *path = @"~/Library/Safari/History.plist";
NSDictionary *fileAttributes = [fileManager attributesOfItemAtPath: path error: NULL];
if (fileAttributes != nil) {
NSNumber *fileSize;
if (fileSize == [fileAttributes objectForKey:NSFileSize]) {
NSLog(@"File size: %qi\n", [fileSize unsignedLongLongValue]);
}
}
else {
NSLog(@"Path (%@) is invalid.", pPath);
}
[NSFileManager release];
私は問題がティルド(〜)ではないと思う、NSString * path = @ "Whatever.txt";コードは機能しません。 – Joannes
エラー処理で 'NULL'の代わりに' nil'を試しましたか?私が投稿したコードは、いくつかのアプリケーションでテストされ、使用されているので、動作していると確信しています。 **フルパス**を試してみてください。 **/Users/USERNAME/Library/Safari/History.plist **を開き、独自のインスタンスを作成する代わりに 'NSFileManager'の 'defaultMangaer'を使います。 [Here(http://pastebin.com/XBBCvqGu)](http://pastebin.com/XBBCvqGu)私はあなたが探しているものを実行するコードを書いた:それはテストされ、それは動作します。 – Sylter
私はnilを試しましたが、エラーはありませんが、コードは機能しません。コンソールで私はあなたのコードを試してみましたが、大丈夫ですが、あなたのユーザ名を入力する必要がありますか?どのように私はそれを置くことができますか? /Library/Safari/History.plist? – Joannes