2014-03-13 60 views

回答

2

阅读各文件一个接一个,

NSString *firstFileContent = [NSString stringWithContentsOfFile:<your file path> 
                 encoding:NSASCIIStringEncoding 
                  error:nil]; 

//Similarly read other files, and store them in secondFileContent and thirdFileContent. 

//now concatenate all to form one big string. 
NSString *bigString = [NSString stringWithFormat:@"-First File- \n%@ \n-Second File- \n%@\n-Third File-\n%@",firstFileContent, secondFileContent, thirdFileContent]; 

//write to file, create a new one 
[bigString writeToFile:<path to write> 
      atomically:YES 
       encoding:NSASCIIStringEncoding 
       error:nil]; 

编辑1

根据您的意见,您的文件在DocumentDirectory使用此代码:您需要阅读的文本文件,从捆绑,然后添加它们,一旦你有

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
NSString *documentsDirectory = [paths objectAtIndex:0]; 
NSString *filePath = [documentsDirectory stringByAppendingPathComponent:<your file name>]; 
NSString *content = [NSString stringWithContentsOfFile:filePath encoding:NSUTF8StringEncoding error:NULL]; 
+0

输出为空。 – biki

+0

'firstFileContent'的输出是什么? –

+0

我的文本文件在文档目录中,所以而不是从那里访​​问..我正在使用[[NSBundle mainBundle] pathForResource:ofType:];为了访问它,我,我得到了错误,因为filecontents输出为NULL。但现在我得到它是正确的。感谢您的时间。 – biki

1
以下代码 NSString文件和使用

首先加载内容:

NSString *strConcatenate = [NSString stringWithFormat:@"%@ %@ %@", textfiles1, textfiles2, textfiles3];  
    NSLog(@"%@", strConcatenate); 
0

你只需要在文件的内容加载到NSMutableString和将它们连接起来:

NSMutableString *myString = @"Content of the first file"; 
NSString *test = [myString stringByAppendingString:@" content of the second file"]; 
0

然后写回去。我写了这个例子,我希望你能从中学习。

NSMutableString *mutableString = [[NSMutableString alloc] init]; 

NSArray *textFiles = @[ @"textfile1", @"textfile2", @"textfile3" ]; 

for (NSString *textFileName in textFiles) { 

    NSString *path = [[NSBundle mainBundle] pathForResource:textFileName 
                ofType:@"txt"]; 

    NSError *error = nil; 
    NSString *content = [NSString stringWithContentsOfFile:path 
               encoding:NSUTF8StringEncoding 
                error:&error]; 

    if (content) { 
    [mutableString appendFormat:@"%@\n", content]; 
    } else { 
    NSLog(@"%@", error.localizedDescription); 
    } 

} 

NSLog(@"%@", mutableString); 

NSError *error = nil; 
BOOL result = [mutableString writeToFile:@"concatenated_file.txt" atomically:NO encoding:NSStringEncodingConversionAllowLossy error:&error]; 

if (!result) { 
    NSLog(@"%@", error.localizedDescription); 
} 
相关问题