-1

さて、クラスを実装した後、私は関数org.apache.commons.lang3.text.WordUtilsを使用できるようになることを望んでいました。WordUtils.wrap(String str, int width)しかし、私はスピードバンプに達しました。

私はこのプログラム(私が言及する必要があるのはアプレットです)を1つの問題なしにコンパイルすることができました。apache jarファイルを参照するようにCLASSPATH環境変数を設定し、appletviewerを介してプログラムを実行する必要がありました。ただし、関数を使用するコードの部分に到達すると、WordUtils.wrap()すべてが酸っぱくなり、コマンドプロンプトで約20行のランタイムエラーが発生します。

エラー:

Caught a SecurityException reading the system property 'awt.toolkit'; the System
Utils property value will default to null.
Caught a SecurityException reading the system property 'file.encoding'; the Syst
emUtils property value will default to null.
Caught a SecurityException reading the system property 'java.awt.fonts'; the Sys
temUtils property value will default to null.
Caught a SecurityException reading the system property 'java.awt.graphicsenv'; t
he SystemUtils property value will default to null.
Caught a SecurityException reading the system property 'java.awt.headless'; the
SystemUtils property value will default to null.
Caught a SecurityException reading the system property 'java.awt.printerjob'; th
e SystemUtils property value will default to null.
Caught a SecurityException reading the system property 'java.class.path'; the Sy
stemUtils property value will default to null.
Caught a SecurityException reading the system property 'java.compiler'; the Syst
emUtils property value will default to null.
Caught a SecurityException reading the system property 'java.endorsed.dirs'; the
 SystemUtils property value will default to null.
Caught a SecurityException reading the system property 'java.ext.dirs'; the Syst
emUtils property value will default to null.
Caught a SecurityException reading the system property 'java.home'; the SystemUt
ils property value will default to null.
Caught a SecurityException reading the system property 'java.io.tmpdir'; the Sys
temUtils property value will default to null.
Caught a SecurityException reading the system property 'java.library.path'; the
SystemUtils property value will default to null.
Caught a SecurityException reading the system property 'java.runtime.name'; the
SystemUtils property value will default to null.
Caught a SecurityException reading the system property 'java.runtime.version'; t
he SystemUtils property value will default to null.
Caught a SecurityException reading the system property 'java.util.prefs.Preferen
cesFactory'; the SystemUtils property value will default to null.
Caught a SecurityException reading the system property 'java.vm.info'; the Syste
mUtils property value will default to null.
Caught a SecurityException reading the system property 'user.country'; the Syste
mUtils property value will default to null.
Caught a SecurityException reading the system property 'user.region'; the System
Utils property value will default to null.
Caught a SecurityException reading the system property 'user.dir'; the SystemUti
ls property value will default to null.
Caught a SecurityException reading the system property 'user.home'; the SystemUt
ils property value will default to null.
Caught a SecurityException reading the system property 'user.language'; the Syst
emUtils property value will default to null.
Caught a SecurityException reading the system property 'user.name'; the SystemUt
ils property value will default to null.
Caught a SecurityException reading the system property 'user.timezone'; the Syst
emUtils property value will default to null.

このすべての問題を引き起こすコード行は次のとおりです。

String strWrap = WordUtils.wrap("A really really really really really long sentence.", 50);

ここで何が起こっているのですか?

4

2 に答える 2

2

SystemUtilsアクセスをバイパスするために、引数として行区切り文字を渡すのはどうですか。

String strWrap = WordUtils.wrap("A really really really really really long sentence.", 50, "\n", false);
于 2012-09-26T23:02:59.240 に答える
1

コードでは、システムで使用されている行区切り文字を見つけるためにSystemUtilsを呼び出すWordUtilsを使用しています。

newLineStr = SystemUtils.LINE_SEPARATOR;

SystemUtilsは、ブラウザのセキュリティ制限のため、アプレットが読み取ることをおそらく許可されていないシステムプロパティを読み取ろうとしています。

SystemUtilsのドキュメントには次のように書かれています。

セキュリティ上の制限によりシステムプロパティを読み取ることができない場合、このクラスの対応するフィールドはに設定されnull、メッセージはに書き込まれます。System.err

于 2012-09-26T22:41:15.030 に答える