У меня есть приложение как в C#, так и Objective-C, которое должно читать из текстового файла. Поскольку текстовый файл создается после приложения, у пользователя есть возможность сохранить его в любом месте. В C# нетрудно найти файл, используя имя файла без полного пути. В Objective-C это кажется трудным. Я не могу попросить пользователей сохранить его на определенном пути, это касается регулирования Apple App. Любая идея, как искать конкретный файл только с именем файла? Во время моего судебного разбирательства я использовал NSFileManager для обнаружения файла, и приложение может читать файл, если он сохраняется в приложениях (Mac), но если я сохраню файл в документах или где-нибудь еще, то мне будет Error: «Файл не существует ».чтение из файла: файл не существует
ответ
Вы можете сохранить txt-файл в папке своего приложения. Вы можете создать каталог.
Вот несколько кодов для создания каталога в каталоге Documents.
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSFileManager *flmngr = [NSFileManager defaultManager];
BOOL isDir;
if (![flmngr fileExistsAtPath:[NSString stringWithFormat:@"%@/yourDicretoryName", documentsDirectory] isDirectory:&isDir]) {
[flmngr createDirectoryAtPath:[NSString stringWithFormat:@"%@/yourDicretoryName", documentsDirectory]
withIntermediateDirectories:NO
attributes:nil
error:nil];
}
после создания конкретной справочника. Вы можете сохранить txt-файл. Предположим, у вас есть один nsstring
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *filePath = [NSString stringWithFormat:@"%@/txtFile.txt",documentsDirectory];
[yourString writeToFile:filePath atomically:YES encoding:NSUTF8StringEncoding error:nil];
После сохранения вашего txt-файла вы можете прочитать это.
NSString *stringTxt = [NSString stringWithContentsOfFile:filePath encoding:NSUTF8StringEncoding error:nil];
Вы можете получить список файлов в каталоге с помощью кода
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSError *error;
NSMutableArray *fileList = [[NSMutableArray alloc]initWithArray:[[NSFileManager defaultManager] contentsOfDirectoryAtPath:[NSString stringWithFormat:@"%@/yourDirectory", documentsDirectory] error:&error]];
-contentsOfDirectoryAtPath
возвращает NSArray объекта. с именами файлов в каталоге.
Для использования в Cocoa Thouch Mac.
Вы можете создать каталог с помощью кода:
NSFileManager *fileManager= [NSFileManager defaultManager];
if(![fileManager fileExistsAtPath:directory isDirectory:&isDir])
if(![fileManager createDirectoryAtPath:directory withIntermediateDirectories:YES attributes:nil error:NULL])
NSLog(@"Error: Create folder failed %@", directory);
Вы можете выбрать директорию с помощью кода:
NSOpenPanel* panel = [NSOpenPanel openPanel];
[panel setCanSelectHiddenExtension:NO];
[panel setCanChooseDirectories:YES];
[panel setCanChooseFiles:NO];
[panel setTitle:@"Kaydetmek için Dosya Yolunu Seçin!"];
[panel beginWithCompletionHandler:^(NSInteger result){
if (result == NSFileHandlingPanelOKButton) {
directoryPath = [[[panel URLs] objectAtIndex:0]path];
directoryPath = [directoryPath stringByReplacingOccurrencesOfString:@"file://localhost" withString:@""];
}
}];
Запись файл по-прежнему то же самое. Но вы можете сохранить свой рабочий документ в выбранном или созданном каталоге и т. Д.
Получение списка файлов одинаково.
Привет, Mialkan, спасибо. Пользователи сохраняют текстовый файл вручную, поэтому я попытаюсь работать с частью сохранения текстового файла из вашего кода, но попрошу пользователей сохранить файл в этом каталоге, надеясь, что яблоко не будет считать его диктующим пользователю сохранять файл в определенном пути. – Jon
Добро пожаловать. Я сделал приложение, подобное этому, но его жалование для обзора. Мое приложение загружает файл в формате pdf. Прежде чем dowanload запрашивает имя файла. с именем файла, данным пользователем. Я сохраняю его в папке «Документы/Загрузка». Когда мое приложение будет готово к продаже, я дам вам знать. Вы можете скачать это приложение через эту ссылку [MyApp] (http://mialkan.com/kodlar/myApps/homersapien.html) – mialkan
- 1. Чтение из текстового файла, который не существует в java?
- 2. Чтение из файла - AWK
- 3. OpenSSH - Чтение из файла
- 4. Python - Чтение из файла, любой файл
- 5. Чтение файла из stdin
- 6. Чтение Из текстового файла, создающего другой файл
- 7. Сделать .sh файл, чтение из файла XML
- 8. Чтение из файла jQuery
- 9. чтение символов из файла
- 10. Flex Bison Чтение из файла получает ошибку сегментации, если файл не существует
- 11. чтение и запись из файла
- 12. Чтение байтов из файла?
- 13. Чтение записей из файла
- 14. Чтение из открытого файла
- 15. Чтение подклассов из файла
- 16. C++ чтение из файла
- 17. Чтение переменной из файла
- 18. Чтение из текстового файла
- 19. чтение из файла. C
- 20. Чтение из текстового файла
- 21. чтение файла из активов
- 22. Чтение из файла FreePascal
- 23. Чтение filepath из файла свойств
- 24. Чтение строки из файла C++
- 25. Чтение файла из пакета ресурсов
- 26. чтение из файла построчно
- 27. Чтение файла из ресурсов
- 28. Чтение из файла устройства
- 29. Чтение из файла INI
- 30. Чтение из файла app.config
Это поможет, если вы сократите его до наименьшего количества кода, иллюстрирующего вашу проблему, и поделитесь своим кодом. Трудно для других угадать, что вы можете делать неправильно :) – bryanmac
Вы обновили свои «возможности» для своего приложения, чтобы разрешить «Доступ к файлам -> выбранный пользователем файл»? Затем вы можете разрешить пользователю выбирать файл, и это даст вашим разрешениям приложения открыть его. –
@ bryanmac, Как я уже сказал, приложение может читать, когда текстовый файл сохраняется в /Applications/myfile.txt, но не смог найти файл, когда вы меняете разрешение: say /Documents/myfile.txt. – Jon