2011-11-04 51 views
0

我在应用程序内存中使用NSData存储了一个pdf文件。现在我每次都需要该文件名将这些名称添加到数组中。我如何从我的应用程序内存中获取pdf文件的名称以在我的应用程序中使用。如何在iPhone SDK中获取文件名?

+1

应用程序内存或应用程序的Documents文件夹(磁盘)?如果只有一个很大的NSData文件只是用来启动内存,那么会非常糟糕,再加上在重新启动应用程序时它会丢失。 – Tudorizer

+0

它在应用程序文件夹中。 –

+0

这可能会帮助你: http://stackoverflow.com/questions/6093389/applications-document-folder-in-iphone – Niranjan

回答

2

因为您只能将文件存储为数据对象而不是文件名,

您可以尝试阅读PDF元数据以检查是否有文件名。

+0

我的PDF文件存储在应用程序文件夹中。 –

+0

这是存储在应用程序内存的文档文件夹中的文件吗? –

+0

如果您的文件直接存储在您知道文件名的文档中,因为您将它保存在那里。所以当你在NSData对象中加载它时,你是我们的路径和文件。您需要将文件名保存在数组中,而不仅仅是数据对象。 – rckoenes

1

这里的答案应该有所帮助:

Getting a list of files in the Resources folder - iOS

它会列出在文件目录中的所有文件。

+0

或者对于其他文件操作:http://www.ios-developer.net/iphone-ipad-programmer/development/file-saving-and-loading/using-the-document-directory-to-store-files – Tudorizer

+0

这是用于存储在应用程序内存的文档文件夹中的文件吗? –

+0

我不确定你在上一个问题中的含义。你能改说吗? – Tudorizer

0

我想通过“应用程序内存”你指的应用程序的目录之一像文档或库。

你可以使用的NSFileManager访问该目录,并得到所有文件的列表,就像如果你存储在你的应用程序的库文件夹:

 

NSArray* directoryPaths = NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUSerDomainMask, YES]; 
NSString* path = [directoryPaths objectAtIndex:0]; 
NSArray* files = [NSFileManager defaultManager] contentsOfDirectoryAtPath:path]; 
 

更重要的是,你可以使用过滤器顶部谓词只能得到.pdf结尾的文件。

+0

对于文件目录常量是NSDocumentDirectory。 – TheEye

相关问题