6

フォームを印刷するためのおそらく間違った面倒な解決策の一部として、MS-Wordドキュメントを取得し、XMLとして保存し、そのXMLをグルーヴィーな文字列として保存して${fillOutTheFormProgrammatically}できるようにしようとしています。

ただし、MS-Word文書が大きい場合、文字列は113100ユニコード文字であり、Groovyは65536に制限されていると言います。これを変更する方法はありますか、それとも文字列を分割することに固執していますか?

Groovy-印刷可能なフォームを作成する必要があります

それが私がやろうとしていることです。

更新:Groovyストリングの長すぎることを明確にするために..通常のストリングはすべて良いかもしれないと思います。戦略を変更し、ファイルにいくつかの文字列を入れると、%!%variable_name%!%のように簡単に見つけて、.replace(...ええと、ここで新しい質問が来るのを感じます...

4

1 に答える 1

6

この文字列をGroovyコードに直接埋め込んでいますか?jvm自体には文字列定数の長さに制限があります。詳細については、VM仕様を参照してください。

醜い回避策は、文字列を小さな部分に分割し、実行時にそれらを連結することです。より良い解決策は、テキストを外部ファイルに保存し、コードから内容を読み取ることです。このファイルをコードと一緒にパッケージ化し、Class#getResourceAsStreamを使用してクラスパスからアクセスすることもできます。

于 2011-07-28T09:27:52.910 に答える