0

importFileをNSString*importFile(NSLog%@で出力)に保存しています。

/var/mobile/Applications/5CE1D252-E56A-4AAC-B88E-5B0CEFFF55B3/Library/Caches/tmp/temp_695D39E3-3359-415F-9C0D-243E2E117B8B-456-0000001384C17BBA.tmpfile

次に、destinationFile NSString * destinationFileの値(NSLog%@で出力)を受け取ります。

/var/mobile/Applications/5CE1D252-E56A-4AAC-B88E-5B0CEFFF55B3/Documents/Str%208829%20-%20Test.500887280

次に、NSFileManagerを使用してファイルを移動します。

NSFileManager* fileManager = [NSFileManager defaultManager];
assert(fileManager != nil);
NSError* error = nil;
[fileManager moveItemAtPath:importFile toPath:destinationFile error:&error];

問題は、移動後の実際のファイルの名前が、要求されたdestinationFileと異なることです。

Str%25208829%2520-%2520Test.500887280

何が起きてる ?違いと思われる余分な325は何ですか?

4

2 に答える 2

1

ファイルの種類と拡張子を定義する必要があります。次に、ファイルをあるディレクトリから別のディレクトリに移動するだけです...ファイルの名前を変更することもできます

NSFileManager *manage = [NSFileManager defaultManager];

NSString *path = [NSHomeDirectory() stringByAppendingFormat:@"/Documents/%@",Text.txt];
NSString *newPath = [NSHomeDirectory() stringByAppendingFormat:@"/Documents/%@",newText.txt];

[manage moveItemAtPath:path toPath:newPath error:&error];
于 2014-10-07T08:28:39.860 に答える
1

%ファイル名の が%25(パーセントのパーセント コード)としてエンコードされているようです。

これをチェックしてみてください: URL エンコーディングと HTML エンコーディング NSStrings

于 2012-12-07T22:34:41.750 に答える