API version 4
iOSAndroidWindows
説明 |
任意のフォルダを仮想ファイル名にマウントします。
例えば、C:\tempに対して/app/dataのような仮想ファイル名でアクセスできるようになります。
Mountメソッドは、プライベート属性の場合のみ呼び出すことができ、パブリック属性の場合はRTM-16の例外が発生します。
マウントに成功すると、それ以降は仮想ファイル名でマウントしたフォルダにアクセスできます。Unmountメソッドでマウントを解除できます。 マウントされた状態は、マウントしたFileSystemオブジェクトのみ有効です。複数のFileSystemオブジェクト間でマウント状態が共有されることはありません。
セキュリティ警告ダイアログ
Mountメソッドを呼び出すと以下のセキュリティ警告ダイアログが表示されます。
このダイアログでユーザがOKを選択しない限りマウントは成功しません。キャンセルを選択した場合、RTM-19の例外が発生します。
マウントされるフォルダは「別のフォルダを選択」によりユーザが選択したフォルダです。マウント対象のフォルダ名を指定した場合はフォルダ選択の初期値となりますが、ユーザの選択が優先されます。実際にユーザがどの物理フォルダを選択したかはMapPathメソッドで確認できます。
セキュリティ上の理由から、システム属性のフォルダは選択できません。 なお、通常のフォルダにシステム属性のファイルやフォルダが含まれている場合は選択することができます。
セキュリティ警告ダイアログで「今後、このメッセージを表示しない」をチェックしてOKを選択した場合、以降のマウントでは後述のマウント情報の記録の条件が一致すれば、警告ダイアログを表示せずに前回と同じフォルダに自動的にマウントします。 ただし、フォルダが削除されていてアクセスできないなど、そのフォルダがマウントの対象として指定できない状態に変わっている場合は、再度セキュリティ警告ダイアログが表示されます。
マウントポイント
マウントするフォルダにアクセスするための仮想ファイル名がマウントポイントです。 マウントポイントにルートフォルダ("/")を指定することはできません。必ず、名前を指定する必要があります。 すでに同じマウントポイントにマウントが行われている場合は、RTM-17の例外が発生します。
マウントポイントは、実際のフォルダが存在する必要はありません。例えば、ルートフォルダ以外のフォルダが存在しない状態でも、/app/dataをマウントポイントにできます。マウントポイントに実際のフォルダが存在する場合は、マウントにより隠されてアクセスできなくなります。
マウント情報のローカルコンピュータへの記録
マウントに成功すると、マウントしたフォルダやセキュリティ警告ダイアログの情報が、マウント情報としてローカルコンピュータに記録され、以降、同じ条件でマウントするときに使用されます。 マウント情報は、以下の条件をキーにして記録されます。 ・ログインユーザ ・CRSをダウンロードしたサーバ名 ・マウントポイントの仮想ファイル名
例えば、セキュリティ警告ダイアログで「今後、このメッセージを表示しない」を選択した場合は、この記録されたマウント情報を使ってマウントします。 マウント情報は、セキュリティ警告ダイアログで「キャンセル」を選択したときや、Unmountメソッドでマウント記録の削除を指定したときに削除されます。
セキュリティレベルによる動作の違い
noConfirmパラメータに$TRUEを指定すると警告ダイアログは表示されずにマウントされます。 また、警告ダイアログの「今後、このメッセージを表示しない」をチェックしたと見なされます。
Android版
|
|||||||||||
呼出形式 |
fs.Mount( purpose, path [, folder [, noConfirm ] ] )
|
|||||||||||
戻り値 |
なし
|
|||||||||||
引数 |
String purpose |
マウント確認ダイアログの「利用目的」欄に表示される文字列 |
||||||||||
|
String path |
マウントポイントとなる仮想ファイル名 |
||||||||||
|
String folder |
マウント対象のフォルダ名 マウントポイントに対応するマウント情報がローカルコンピュータに記録されている場合は無視されます。 |
||||||||||
|
boolean noConfirm |
マウント確認ダイアログを表示しない
|
||||||||||
例外 |
RTM-16 |
プライベートファイルシステム以外のマウント操作はできません |
||||||||||
|
RTM-17 |
マウントポイントには既にフォルダがマウントされています |
||||||||||
|
RTM-18 |
レジストリアクセスエラー |
||||||||||
|
RTM-19 |
マウントはユーザにより中止されました |
||||||||||
|
RTM-23 |
ルートフォルダにマウントすることはできません |
||||||||||
|
RTM-24 |
パスが不正です
|
||||||||||
使用例 |
var fs = new FileSystem(FileSystem.PRIVATE_ROOT); var path = "/app/data"; fs.Mount("データフォルダ", path, "c:\\temp"); var f = fs.Open(fs.MakePath(path, "sample.txt"), FileSystem.OPEN_WRITE); f.WriteString("sample"); f.Close(); fs.Unmount(path);
|
|||||||||||
関連項目 |
FileSystemコンストラクタ |