在iOS中创建.txt文件时'\ n'不起作用
问题描述:
在我的应用程序中,在iOS中创建.txt文件时' n'不起作用
我以编程方式创建.txt文件。文件创建成功。但\ n在此文件中不起作用。
我为此使用了以下代码。
NSString *str=[NSString stringWithFormat: @"line 1 \nline 2 \nline 3"];
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *pdfPath = [documentsDirectory stringByAppendingPathComponent:[NSString stringWithFormat:@"%@.txt",@"REFINESEARCH"]];
[str writeToFile:pdfPath atomically:YES];
当我在mac中打开REFINESEARCH.txt文件时,它将正常工作。 但是,当我在Windows操作系统中打开此文件。它看起来像这样..
\ n在这里不工作。 如何解决这个问题?
答
替换你的方法:
[str writeToFile:pdfPath atomically:YES];
有了:
[str writeToFile:pdfPath atomically:YES encoding:NSUTF8StringEncoding error:nil];
答
Windows(或更具体地,记事本)使用回车/换行来显示新行。改用\r\n
,你应该没问题。
答
Modiifed你的代码,因为只有(\ r)将工作,所以只需更换\ n转换为\ r和尝试: -
NSString *str=[NSString stringWithFormat:@"line 1 \rline 2 \rline 3"];
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDesktopDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *pdfPath = [documentsDirectory stringByAppendingPathComponent:[NSString stringWithFormat:@"%@.txt",@"REFINESEARCH"]];
[str writeToFile:pdfPath atomically:YES];
+0
\ r也可以在windows和macos上工作,所以如果你只使用\ r它会工作 –
记事本使用什么编码? –
试试吧,用
替换\ n。 –
适用于HTML。这里我没有创建任何HTML文件。 – ChandreshKanetiya