0

OSXの複数のバージョンでコンテンツ形式が変更されたファイルを使用しています。以前はASCII、次にJSON、現在はバイナリplistでした。そのため、JSON APIを使用してテキストとして解析するか、plistを辞書/配列としてロードできるように、ファイルの種類を判別する必要があります。

/ usr / bin / fileコマンドを使用して、ファイルのコンテンツタイプを教えてくれますが、プログラムでこれを実行したいと思います。このためのCocoaAPIはありますか?

NSFileManagerのattributesOfItemAtPath:error:を見てきましたが、NSFileTypeRegularが返されるだけで、役に立ちません。

4

2 に答える 2

2

ファイルに一致する Cocoa API はありません。「ファイルタイプ」を処理するさまざまな Cocoa (および CF) API がありますが、それらは拡張機能と従来の Mac Finder 情報のハイブリッドを使用しており、これはあなたが望むものではありません。

H2CO3が示唆するように、あなたが望むのはlibmagicです。ただし、BSD バージョンが必要です。それは Fine Free File Command ソースの一部であり、OS X のビルトイン file コマンドのソースと同じソースであり、BSD ライセンスであり、より頻繁に更新されています。

http://www.darwinsys.com/file/で入手できますが、Homebrew または MacPorts からも入手できます。

于 2012-06-08T21:18:00.307 に答える
0

http://sourceforge.net/projects/libmagic/ Linux 上のLibmagic のマニュアル ページは次のとおりです。これは OS に依存するライブラリではないため、Mac でも変更しなくても動作する可能性が非常に高くなります。http://linux.die.net/man/3/libmagicを参照してください。

于 2012-06-08T15:32:23.593 に答える