在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在这里不工作。 如何解决这个问题?

enter image description here

+0

记事本使用什么编码? –

+0

试试吧,用
替换\ n。 –

+1


适用于HTML。这里我没有创建任何HTML文件。 – ChandreshKanetiya

替换你的方法:

[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它会工作 –