我为Avid Media Composer视频编辑器编写了一个小实用程序,它解析编辑决策列表并为编辑生成两个单独的文本文件。我能保存第一个文件没问题。但我无法弄清楚如何修改我的URL以自动保存第二个文件。
假设第一个文件名为:FirstFile.txt
我只想将第二个自动保存为:FirstFile_SubCap.txt
我一直与NSURL& NSString以某种方式规则,错误很多。如果有人对如何做到这一点有一些指导,我将不胜感激。
到目前为止,这是我的代码。我已经删除了错误的代码,但评论了我想要完成的地方和内容。
NSSavePanel *saveFile = [NSSavePanel savePanel];
long result = [saveFile runModal];
if(result == NSOKButton){
NSURL *selectedFile = [saveFile URL];
NSString *writeFile = [_infoWINDOW string];
[writeFile writeToURL:selectedFile atomically:YES encoding:NSUTF8StringEncoding error:nil];
// If the following condition is met, save the second file...
if ([_subCap isEqual: @"yes"]) {
// Here's where I need to save the second file as selectedFile+"_SubCap.txt"
}
提前致谢。
Chris Conlee
答案 0 :(得分:0)
您必须将URL转换为路径字符串,通过将扩展名与完整路径分开来将其拆分,然后使用附加的_SubCap扩展名重新构建它。代码:
NSString *subCapString = .... // string to write to _SubCap.txt file
NSString *path = selectedFile.path;
NSString *extension = path.pathExtension;
NSString *strippedPath = [path stringByDeletingPathExtension];
NSString *newPath = [NSString stringWithFormat:@"%@_SubCap.%@", strippedPath, extension];
NSURL *subcapURL = [NSURL fileURLWithPath:newPath];
[subCapString writeToURL:subcapURL atomically:YES encoding:NSUTF8StringEncoding];
答案 1 :(得分:0)
以下是如何通过调整另一个的文件名来生成URL:
NSURL *selectedFile = [saveFile URL];
NSString *subCapString = [NSString stringWithFormat:
@"%@_SubCap.%@",
[selectedFile URLByDeletingPathExtension].absoluteString,
selectedFile.pathExtension];
NSURL *subCapURL = [NSURL URLWithString:subCapString];