ann*_*nna 4 file-io cocoa colon nsdata nsdateformatter
当我运行以下代码时,在磁盘上写入的文件名最终会像这样:"MyFileName_2011-02-07_13/07/55.png".我想保留结肠字符,而不是正斜线.当我在控制台中NSLog"fileName"时它看起来是正确的.我错过了什么?
NSDateFormatter* dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd_HH:mm:ss"];
NSString *dateString = [dateFormatter stringFromDate:[NSDate date]];
NSString *fileName = [NSString stringWithFormat:@"MyFileName_%@.png", dateString];
[myNSData writeToFile:fileName atomically:NO];
Run Code Online (Sandbox Code Playgroud)
文件名确实包含冒号; Finder用斜杠替换它.
这是您无法使用冒号的延续,因为它是Mac OS上的路径分隔符.现在,路径分隔符是斜杠,因此是开关.
Finder仍然不会让你进入冒号; 如果你试图输入一个斜杠,它会成功,但保存名称后面有一个冒号.
几乎在其他地方,包括在Cocoa中,冒号是有效的(不是路径分隔符),但斜杠不是.