2011-11-04 49 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

相關問題