我需要使用writeToFile:
方法将数据(加密的)写入文件。但是,假设我有:
NSData *encryptedData = [data AES256EncryptWithKey:key];
我将加密数据写入文件:
[encryptedData writeToFile:@"file.txt" automatically:YES];
由于某种原因,这不会将数据写入“file.txt”。这是一个非常简单的问题,我知道我错过了一些非常基本的东西。如果 file.txt 实际上不存在,则必须创建它。
最佳答案
这可能与 Cocoa 或 NSData 无关。
在 Unix(如 Mac OS X)上,以 /
开头的路径是绝对路径。以 ~
开头的路径是相对于当前用户的主目录的。其他任何内容(例如 file.txt
)都是相对于当前目录的。当从 Xcode 运行某些内容时,这是可执行文件的路径(编译器的输出路径)。
因此,要将其写入桌面,那就是:
[encryptedData writeToFile:@"~/Desktop/file.txt" atomically:YES];
对于文档文件夹,这将是:
[encryptedData writeToFile:@"~/Documents/file.txt" atomically:YES];
不要忘记路径也区分大小写。
关于cocoa - 将数据写入Cocoa文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7154512/