2009-03-18 5 views
3

Woher weiß ich File.nativepath aus dem Ordner, in dem meine .app- oder .exe AIR-App läuft? Wenn ich das versuche ich geradeAdobe AIR - Lesen einer Datei im selben Ordner außerhalb des AIR-Pakets

‚/Users/MYNAME/Desktop/MYAPP/Contents/Resources/FILETHATINEED.xml‘

muss ich diese auf einen beliebigen Ordner setzen und eine XML-Datei lesen im selben Ordner. Ich brauche meine XML-Datei nicht im Paket.

Ich brauche diese Struktur

/folder/AIRAPP.exe

/folder/FILE.xml

Thanx im Voraus.

+0

Könnten Sie weitere Informationen darüber hinzufügen, was Sie sehen und wie sich das von dem unterscheidet, was Sie erwarten? Der Pfad, den Sie aufgelistet haben, scheint 'File.applicationDirectory' zu sein, also *, in dem sich die App befindet. Wie ist das anders als das, was Sie erwarten? –

Antwort

0

Ich glaube, dass Sie File.applicationDirectory verwenden möchten.

+0

Nein, ich verwende > File.applicationDirectory.resolvePath ('FILE.xml'); und ich > '/ Users//Desktop/ .app/Contents/Resources/file.xml' ich meine App in dem Desktop, aber ich brauche, um meine app Tragbarer ich es in jeder verwenden möchten Ordner und lesen Sie diesen Inhaltsordner. – rafaelochoa

1

Von dem, was ich finden kann, gibt es keine Möglichkeit, das zu bekommen, ohne selbst etwas zu tun. Wenn wir, dass die File.applicationDirectory Punkte an der falschen Stelle übernehmen nur auf Mac (der wie der Fall scheint), können wir dies tun:

var appDir = File.applicationDirectory 

if (appDir.resolvePath("../../Contents/MacOS").exists) { 
    appDir = appDir.resolvePath("../../.."); 
} 

Das heißt, überprüfen, ob die übergeordnete Verzeichnisse der App-Verzeichnis des Mac entsprechen. App-Bundle-Verzeichnisstruktur, und in diesem Fall verwenden Sie das übergeordnete Element des übergeordneten Elements des übergeordneten Elements (das dann das Verzeichnis sein sollte, das das .app-Bundle enthält).