標準ディレクトリ(applicationDirectory、desktopDirectoryなど)の外部の相対パスの解決

air filesystems
標準ディレクトリ(applicationDirectory、desktopDirectoryなど)の外部の相対パスの解決

私はapplicationDirectoryに関連するファイルに移動する必要がありますが、ドキュメントにあるように:

_ファイルシステムルートまたはアプリケーション永続ストレージルートに到達する「..」参照は、そのノードを渡しません。無視されます。

しかし、クレイジーなことは、私が

File.applicationDirectory.resolvePath("/home/myHome/");

ファイルシステムのどこにでもアクセスできます。

私の質問は、applicationDirectoryから「../../my.cfg」のような相対パスに移動する回避策はありますか?? (別のアプリケーションで生成された設定ファイルを読む必要があります)

  2  3


ベストアンサー

あなたがルート特権フォルダにアクセスしようとしている場合-あなたはできません。

他の場合は、次に「home / blah / blah / blah /../../ my.cfg」を実行して、もう一度調査してみてくださいhttp://help.adobe.com/en_US/AIR/1.5/jslr/flash/filesystem /File.htmlにより、ナビゲーションに関する時間を節約できます。

また、ファイルへのリンクを作成するか、外部のbash / batスクリプトを実行する方法もあります。

4


私は以前、ユージンの答えに記載されている小さなハックを使用して絶対パスからコピーしていました:

var file = 'C:\Users\User1\Pictures\pic.png';
var newPath = air.File.applicationStorageDirectory.resolvePath('images/pic.png');

air.File.applicationDirectory.resolvePath('/../../../../../../../../../../' +
  file).copyTo(newPath, true);

ただし、これはそれを行うための_much_より良い方法です。

var file = 'C:\Users\User1\Pictures\pic.png';
var newPath = air.File.applicationStorageDirectory.resolvePath('images/pic.png');

new air.File(file).copyTo(newPath, true);

0


タイトルとURLをコピーしました