在iOS中创建.txt文件时,'\ n'无效

时间:2013-10-24 13:11:59

标签: objective-c file xcode4.5 rtf

在我的申请中,

我以编程方式创建了.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

3 个答案:

答案 0 :(得分:3)

Windows(或更具体地说,记事本)使用回车/换行来显示新行。请改用\r\n,你应该没问题。

答案 1 :(得分:3)

替换你的方法:

  [str writeToFile:pdfPath atomically:YES];

使用:

 [str writeToFile:pdfPath atomically:YES encoding:NSUTF8StringEncoding error:nil];

答案 2 :(得分:1)

将您的代码修改为仅(\ 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];