gpt4 book ai didi

cocoa - 将文件名与文件扩展名 Cocoa 分开?

转载 作者:行者123 更新时间:2023-12-03 17:15:38 27 4
gpt4 key购买 nike

我正在使用 writeToFile:atomically: 方法将一些加密数据写入文本文件。问题是,需要保存的文件必须是用户加密的文件,并带有我选择的扩展名。这是我到目前为止所拥有的:

[encryptedData writeToFile:[[NSHomeDirectory() stringByAppendingPathComponent:@"Desktop"] 
stringByAppendingPathComponent:@"encryptedfile.txt.kry"] atomically:YES];
^//fileName here

如您所见,加密的文件名被硬编码为 cryptofile.txt.kry。但假设用户选择文件“test.avi”进行加密,则写入桌面的加密文件应命名为test.avi.kry。所以应该有ofType:,就像NSBundle中一样。我知道这里有一些 NSString 方法可以使用,但已经忘记了。

谢谢!

最佳答案

不能将 .kry 附加到文件名上吗?

如果您有路径,并且只需要文件名,则可以使用 - (NSString *)lastPathComponent:

NSString *filename = [filePath lastPathComponent];
[encryptedData writeToFile:[[NSHomeDirectory() stringByAppendingPathComponent:@"Desktop"]
stringByAppendingPathComponent:[filename stringByAppendingString:@".kry"] atomically:YES];

如果您想要不带扩展名的文件名,可以使用- (NSString *)stringByDeletingPathExtension:

NSString *filename = [[filePath lastPathComponent] stringByDeletingPathExtension];

关于cocoa - 将文件名与文件扩展名 Cocoa 分开?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7297403/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com