API version 4

FileSystem.Mountメソッド

iOSAndroidWindows

 

説明

任意のフォルダを仮想ファイル名にマウントします。

 

例えば、C:\tempに対して/app/dataのような仮想ファイル名でアクセスできるようになります。

 

Mountメソッドは、プライベート属性の場合のみ呼び出すことができ、パブリック属性の場合はRTM-16の例外が発生します。

 

マウントに成功すると、それ以降は仮想ファイル名でマウントしたフォルダにアクセスできます。Unmountメソッドでマウントを解除できます。

マウントされた状態は、マウントしたFileSystemオブジェクトのみ有効です。複数のFileSystemオブジェクト間でマウント状態が共有されることはありません。

 

 

セキュリティ警告ダイアログ

 

Mountメソッドを呼び出すと以下のセキュリティ警告ダイアログが表示されます。

 

 

このダイアログでユーザがOKを選択しない限りマウントは成功しません。キャンセルを選択した場合、RTM-19の例外が発生します。

 

マウントされるフォルダは「別のフォルダを選択」によりユーザが選択したフォルダです。マウント対象のフォルダ名を指定した場合はフォルダ選択の初期値となりますが、ユーザの選択が優先されます。実際にユーザがどの物理フォルダを選択したかはMapPathメソッドで確認できます。

 

セキュリティ上の理由から、システム属性のフォルダは選択できません。

なお、通常のフォルダにシステム属性のファイルやフォルダが含まれている場合は選択することができます。

 

セキュリティ警告ダイアログで「今後、このメッセージを表示しない」をチェックしてOKを選択した場合、以降のマウントでは後述のマウント情報の記録の条件が一致すれば、警告ダイアログを表示せずに前回と同じフォルダに自動的にマウントします。

ただし、フォルダが削除されていてアクセスできないなど、そのフォルダがマウントの対象として指定できない状態に変わっている場合は、再度セキュリティ警告ダイアログが表示されます。

 

 

マウントポイント

 

マウントするフォルダにアクセスするための仮想ファイル名がマウントポイントです。

マウントポイントにルートフォルダ("/")を指定することはできません。必ず、名前を指定する必要があります。

すでに同じマウントポイントにマウントが行われている場合は、RTM-17の例外が発生します。

 

マウントポイントは、実際のフォルダが存在する必要はありません。例えば、ルートフォルダ以外のフォルダが存在しない状態でも、/app/dataをマウントポイントにできます。マウントポイントに実際のフォルダが存在する場合は、マウントにより隠されてアクセスできなくなります。

 

 

マウント情報のローカルコンピュータへの記録

 

マウントに成功すると、マウントしたフォルダやセキュリティ警告ダイアログの情報が、マウント情報としてローカルコンピュータに記録され、以降、同じ条件でマウントするときに使用されます。

マウント情報は、以下の条件をキーにして記録されます。

・ログインユーザ

・CRSをダウンロードしたサーバ名

・マウントポイントの仮想ファイル名

 

例えば、セキュリティ警告ダイアログで「今後、このメッセージを表示しない」を選択した場合は、この記録されたマウント情報を使ってマウントします。

マウント情報は、セキュリティ警告ダイアログで「キャンセル」を選択したときや、Unmountメソッドでマウント記録の削除を指定したときに削除されます。

 

 

セキュリティレベルによる動作の違い

 

レベル

説明

0

警告ダイアログは表示されません。

マウント情報がローカルコンピュータに記録されていない場合(初回マウント時など)は、folderに指定したフォルダに即座にマウントします。

1

2

「今後、メッセージを表示しない」を選択後は警告ダイアログは表示されません。

3

4

常に警告ダイアログを表示します。

 

noConfirmパラメータに$TRUEを指定すると警告ダイアログは表示されずにマウントされます。

また、警告ダイアログの「今後、このメッセージを表示しない」をチェックしたと見なされます。

 

Android版
Biz/Browser HT ver 1.2.6より、Android11以降の端末でアプリケーション専用ディレクトリ以外のディレクトリにあるファイルにアクセスする場合、OSに対してユーザー操作で許可をとる必要があります。
詳しくはAndroid11以降のファイルアクセスを参照してください。

 

 

呼出形式

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コンストラクタ

MapPathUnmountメソッド

 



「オンラインマニュアル」一覧へ戻る
「Bizの宝箱」TOPへ戻る