問題タブ [bean-io]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - BeanIO xml ファイルに可変日付フォーマットを導入するには?
これが私の BeanIO xml 構成ファイルです。
問題は、このxmlファイルを呼び出してファイルを解析するクラスによって「MM/dd/yyyy」を動的に設定する必要があることです。日付形式はユーザー設定に依存するためです。
それはなんとかできますか?
java - BeanIO の一部のレコードで例外が発生した場合、レコードの解析を続行します
BeanIO
フラットファイルをのリストに変換するために使用していますObject
。次のコード スニペットを使用します。
ただし、これに関する問題は、一部のレコードの解析中に例外が発生した場合、レコードの処理がすぐに停止することです。そのような例外を抑制し、次のレコードの処理を続行したい。
これを行う方法はありますか?
私が試すことができることの1つは、ブロックin.read
の本体に入れてwhile
ラップすることtry/catch
ですが、どうすれば終了状態を検出できますか。レコードの終わりを伝える方法はないようです。
ありがとうジテンドラ
java - BeanIOで文字エンコードを設定するにはどうすればよいですか?
固定長ストリームがあります。エンコーディングをWindows-1252またはlatin1に設定したい。
どうやってやるの?
XML経由の方が良いでしょうが、コードが唯一の方法であれば、それも問題ありません。
java - BeanIO - 「フィールドが少なすぎます。最低 8 つが必要です」、なぜですか?
私は Java で BeanIO 1.2 を使用しています。これが私のマッピングです。
私のテキストファイルは次のようになります。
その結果、次のメッセージが表示されます。
4 行目に 8 つのフィールドがあることを示すタブが配置されているため、これは奇妙です。これは、4 行目の最後のツリー フィールドが null であるために発生するようです。それらがnullでありながら、このメッセージが発生しないようにする機能が必要です。また奇妙なのは、これが 4 行目だけで発生し、1 行目や 2 行目では発生しないことです。
何か案は?
java - BeanIO - セグメント操作
これは私の問題です。BeanIO を使用して CSV を読み取る必要があります。この CSV は次のようなものです。
sN_elM (N と M は行と列の増分値) をセクション (BeanIO セクション) に配置する必要があります。
私が実際に持っているのは、次のようなマッピング XML です。
私の「writer()」関数では、これを行います:
しかし、この関数を使用するたびに、コードで次の例外が表示されます。
私のエラーはどこですか?セグメントを間違った方法で使用していると思いますが、正しく使用する方法に関するドキュメントが見つかりません..
string - BeanIOのテキストファイルから文字列変数をゼロに設定するには?
テキスト ファイルの状態は 00 です。BeanIOを使ってPersonオブジェクトのsetStateメソッドに00を渡したい。しかし、Invalid state:Required field not set のような例外が発生します。スペースは受け入れますが、ゼロは受け入れません。
私のマッピングファイルは次のとおりです。
Person クラスのメソッド:
bean-io - 処理中のストリームからセグメントの maxOccurs プロパティを読み取ることはできますか?
複数の繰り返しセグメントを含む固定長ファイルのマッピング ファイルを作成しようとしています。問題は、これらのセグメントの複数が無期限に繰り返されることです。これは、フラット ファイルの beanio ではサポートされていません。これには正当な理由があることを理解しています. beanio は、セグメントが繰り返される頻度について推測するしかないからです.
ただし、各セグメントの繰り返し回数はファイル内の繰り返しセグメントが発生する前の位置に存在するため、ストリームからその数を読み取り、「minOccurs」にデータを入力する方法があるかどうかを調べようとしています。正しい値を持つ次のセグメントの「maxOccurs」プロパティ。基本的に私のマッピングファイルは次のようになります:
フィールド length1 と length2 の値をセグメントの "maxOccurs" プロパティとして使用する方法が必要です。この動作を実現する「公式の」方法がないことはかなり確信していますが、これまでのところ、リモートでエレガントな解決策を思いつくことができませんでした。
私が持っていたアイデアは、ファイルから各セグメントの繰り返し回数をロードし、マッピング ファイルで検索置換を実行してから、これを beanio にロードする手順を作成することでしたが、これは非常に複雑な方法のように思えます。 .
ありがとう、ゾンケ
xml - BeanIO でマッピング ファイル XML を設定する
BeanIO 書き込み用に mapping.xml ファイルをセットアップしようとしていますが、いくつかの問題が発生しています。
出力を次のようにしようとしています。
しかし、私はいくつかの問題を抱えています。「BulkEmail」、「Search」、「Header」、および「Sequence」のそれぞれに対して Bean を作成しましたが、書き込みを実行しようとするたびに、次のエラーが発生します。
スレッド「メイン」org.beanio.BeanIOConfigurationException での例外: ストリーム「EmailRequest」内の無効なレコード「ヘッダー」: 無効な Bean クラス「com.xmlheader.Header」
これは簡単に修正できますか?それとも私のマッピングが間違っていますか?または、これを行うためのより簡単な方法があれば、大歓迎です! マッピングは以下にあります。ご協力ありがとうございます。
xml - BeanIO 2 つのストリームを同じファイルに書き込む
2 つのストリームを同じファイルに書き込める最善の方法を見つけようとしています。私が解決しようとしている問題は、ファイルの上部に XML ヘッダーがあり、下部にコンマで区切られた一連の情報を追加する必要があることです。
BeanIO でこれを行う簡単な方法はありますか? xml ヘッダーは既に作成していますが、次のコード ブロックを使用しようとすると実行されますが、何もしません。