JavaFX 1.2 のローカルストレージを試してみるの続き

Firefox が落ちて頑張って書いてたのがパーになってしまい、初めから同じことを書く気力が残っていないので、簡単に。
JavaFX 1.2 のローカルストレージの制限(保護)について、試した結果だけ書きます。
因みに環境は Windows VistaJava SE 6u14、JavaFX 1.2 です。


1.アプリケーションが書き込みできるデフォルトの最大サイズ:
8192 バイト
javafx.io.Resource#maxLength で参照可能

2.アプリケーションが書き込みできる最大サイズ(サイズ指定):
1048576 バイト
javafx.io.Resource#maxLength で指定可能

3.アプリケーションに割り当てられた最大サイズ:
1048576 バイト
javafx.io.Storage#totalBytes で参照可能


何も指定しなければ、大量にデータを書き込もうとしても 8192 バイトを超えると例外がスローされます。
java.io.IOException: Maximum file length (8192) exceeded
そして、アプリケーションが悪意を持って大きなサイズを書き込もうとして、例えば Resource#maxLength に 104857600(100M) バイトを設定しても 1048576(1M) バイトまでしか書き込みできません。勿論これを超えて書き込もうとすると例外がスローされます。

因みに javafx.io.Storage#totalBytes に対して、あとどれだけ書き込むことができるかは、javafx.io.Storage#availableBytes で知ることができます。