Caricare il file di testo dal percorso specifico obiettivo c

Mi chiedevo come leggere un file da una posizione specifica su ios.

Per esempio mi piace molto sono i file con lo stesso nome memorizzati in posizioni diverse, per esempio.

Project/Files/Text/1.txt

Project/Files/MoreText/1.txt

Al momento posso caricare i file, ma non riesco a vedere come specificare una directory specifica. Il mio programma sembra caricare un file indipendentemente dal luogo in cui è significato che posso avere solo un file di testo o l’altro di lavoro.

Ho provato con NSFileManager:

NSFileManager *filemanager = [NSFileManager defaultManager];

NSArray *filelist = [filemanager directoryContentsAtPath:@"Text"];

ma poi ho realizzato che questo in realtà non fa niente. Restituisce nessun oggetto. Ho visto anche NSBundle ma non hanno visto un esempio in cui un file specifico viene restituito.

Ho bisogno di nomi di file per essere lo stesso per il mio algoritmo che carichi il file.

Qualsiasi aiuto sarebbe apprezzato.

OriginaleL’autore Bushes | 2011-12-03

4 Replies
  1. 12

    Se si desidera leggere i file dall’app bundle e si desidera una certa struttura di directory, quindi è necessario creare una cartella nel Finder. Quindi creare la struttura di directory che si desidera nella directory principale che hai appena fatto. Ora aggiungere i file nelle cartelle appropriate e quindi aggiungere la directory principale del vostro progetto trascinando in Xcode.

    Qui è il codice per la lettura dal pacchetto principale:

        NSString *filePath = [[NSBundle mainBundle] pathForResource:@"Text/1" ofType:@"txt"];
        NSString *testString = [NSString stringWithContentsOfFile:filePath encoding:NSUTF8StringEncoding error:nil];
        NSLog(@"%@",testString); 

    Questa sarà la lettura del file “1.txt” dalla directory “Testo”.

    OriginaleL’autore syclonefx

  2. 2

    applicazione iOS salva tutti i file nella directory principale, un Gruppo(icona gialla) non è una directory. Se volete mettere le vostre risorse in una sub-directory, si può usare questa procedura:

    1. Creare una cartella nel Finder, mettere i file in questa directory.
    2. In Xcode, selezionare “Aggiungi File…” dal menu File.
    3. Selezionare “Copia elementi del gruppo di destinazione cartella” e “Crea Cartella Riferimenti per eventuali aggiunte le cartelle” nel popup.

    Quindi, si sarà trovato un icona blu directory del progetto, è una vera e propria directory.

    Ora, è possibile leggere il file di uso NSBundle metodo di Classe:

    + (NSArray *)pathsForResourcesOfType:(NSString *)extension inDirectory:(NSString *)bundlePath
    Ho provato come hai suggerito, ho messo il file in una cartella separata nel mio progetto, ma quando ho aggiunto il file e fare come suggerisci sembra farne una copia nella directory di base piuttosto usare i file nella cartella. Che cosa sta andando male?
    Devo anche dire che sto usando xCode 3 invece che 4.
    Ok ho trovato cosa non andava.

    OriginaleL’autore virushuo

  3. 0

    prima di tutto, tenere a mente che, per impostazione predefinita, tutti i file va a 1 directory dopo la compilazione. Per metterli alla directory è necessario specificare che in xCode. Come per il caricamento va appena puoi inserire il percorso relativo “MyDir/myFile.txt”

    OriginaleL’autore RolandasR

  4. 0

    Relativi percorsi non funzionano su Mac OS X, questo perché la directory corrente è ignorato da Cacao, e i cambiamenti sono quasi a caso. Devi lavorare sempre con un percorso assoluto. Per ottenere il percorso assoluto della tua app Resources directory, utilizzare:

    NSString *resDir = [[NSBundle mainBundle] resourcePath];

    Poi ad enumerare il contenuto della Text directory nella directory:

    NSString *textDir = [resDir stringByAppendingPathComponent: @"Text"];
    NSArray *textFiles = [[NSFileManager defaultManager] directoryContentsAtPath: textDir];

    Tuttavia, Xcode può o non può onorare la gerarchia dei file nel vostro app di Resources directory. Per determinare se i file sono dove ci si aspetta di trovarli, si dovrebbe costruire la vostra applicazione, fare clic con il .app bundle, e selezionare Show Package Contents.

    OriginaleL’autore Jonathan Grynspan

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *