如何从iOS中的文档目录复制文本文件

时间:2013-07-24 06:41:15

标签: ios cocoa-touch nsfilemanager

您好我正在尝试将文档目录中的文本文件复制到位于文档目录中的文件夹名Temp

以下是我尝试过的一些代码,但没有用。

self.fileManager = [NSFileManager defaultManager];
        NSError *error;
        NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
        NSString *documentsDirectory = [paths objectAtIndex:0];
        NSString *documentsDirectoryToTemp = [NSString stringWithFormat:@"%@/Temp/",[paths objectAtIndex:0]];

        NSString *txtPath = [documentsDirectory stringByAppendingPathComponent:[NSString stringWithFormat:@"%@.txt",tblGetNameToMove.textLabel.text]];

        [self.fileManager copyItemAtPath:txtPath toPath:documentsDirectoryToTemp error:&error];

我该怎么做?

2 个答案:

答案 0 :(得分:1)

这可能有很多原因:

  1. 首先尝试打印所有路径,例如documentsDirectoryToTempn和txtPath,无论它是否正确。

  2. 第二件事是使用错误变量:

    如果(误差) {   NSLog(“应对时出错:%@”,[error localizedDiscription]); }

    因此您可以跟踪确切的问题。

答案 1 :(得分:0)

这是解决方案。我需要添加目录以及文件名和扩展名。

这是代码。

self.fileManager = [NSFileManager defaultManager];
        NSError *error;
        NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
        NSString *documentsDirectory = [paths objectAtIndex:0];

        NSString *txtPath = [documentsDirectory stringByAppendingPathComponent:[NSString stringWithFormat:@"%@.txt",tblGetNameToMove.textLabel.text]];

        NSString *fileName = [NSString stringWithFormat:@"%@/Temp/%@.txt",documentsDirectory,tblGetNameToMove.textLabel.text];

        [self.fileManager copyItemAtPath:txtPath toPath:fileName error:&error];