0

パス/documents/recording.cafにファイルがあり、それをフォルダー/ document/folderにコピーするとします。どうすればいいですか?次のコードを使用する場合、パスにファイル名と拡張子を含める必要があるように見えますが、これは常にわかりません。

NSFileManager *fileManager = [NSFileManager defaultManager];
NSString *documentsDirectory = [paths objectAtIndex:0];

NSString *newPath = [documentsDirectory stringByAppendingPathComponent:@"/temporary/recording.caf"];

if ([fileManager fileExistsAtPath:newPath] == NO) {

    [fileManager copyItemAtPath:file toPath:newPath error:&error];

    }

}

テーブルビューは、ディレクトリ内で見つかったすべてのファイルで更新されます。ユーザーがセルをタップした場合、このファイルを別の場所にコピーしたいと思います。

4

1 に答える 1

3

追加されたパスコンポーネントも文字列であるため、別のファイル名で別の文字列を作成して、不明なものを作成することができます

NSString *anotherString=[NSString stringWithFormat:@"/temporary/%@",<yourfilenameAsString>];

それをnewPathに追加するだけです。

また、@"/temporary/filename.extension"のようなパスを作成しないことをお勧めします。むしろ、NSStringのパス構築メソッドを使用して構築します。

- (NSString *)stringByAppendingPathComponent:(NSString *)aString
- (NSString *)stringByAppendingPathExtension:(NSString *)ext
于 2011-12-27T01:02:39.320 に答える