2014-06-21 54 views
-1

我有一些NSData輸出,我想將其轉換爲字符串。用Nsdata作爲字符串初始化Nsdata

NSString * test = [NSString stringWithFormat:@"myfile.txt];  
NSData *myData = [[NSData alloc] initWithContentsOfFile:(@"%@", test)]; 

這NSData的被保存到一個文件,它看起來像:21fa9731 27c67c00 da1c3349 d82470eb 56f97b88 559f406c 6abecbb7 de020007 47a4541d 99c9c5e7 883f8bf1 165fba39

你知道一種方式來獲得這個字符串後面因爲它是在「 myfile.txt「?

謝謝!

+0

爲什麼你使用NSString的實例初始化你的NSData實例?只要做NSData * myData = [NSData dataWithContentsOfFile:@「myfile.txt」]; – user3344977

回答

0

我不知道你的問題是什麼。您可以與我們分享該文件的寫法,以便我們可以更近一些。

但是,你做得太複雜,因此容易出錯。以下將讀取一個常數名爲fo myfile.txt的文件。

NSData *myData = [[NSData alloc] initWithContentsOfFile:@"myfile.txt"]; 

坦率地說,我甚至不知道myfile.txt預計將在哪個目錄中。當然,還有更好的方法來處理常量文字,而不是直接在代碼中使用文字。

順便說一句,你在myData中實際收到了什麼?空值?

(這比回答的評論,但格式是答案要好得多。)

0

如果HDD(不是在應用程序包),您必須對您的數據文件提供完整路徑某處的數據文件。

NSString * test = [NSString stringWithFormat:@"myfile.txt];  
NSData *myData = [[NSData alloc] initWithContentsOfFile:(@"%@", test)]; 

NSString* myString = [NSString alloc]initWithData:myData 
        encoding: NSUTF8StringEncoding]; 

選擇您保存數據文件的編碼。