- - PR -
VBからJavaへのコード変換で
1
| 投稿者 | 投稿内容 | ||||
|---|---|---|---|---|---|
|
投稿日時: 2003-10-02 15:16
はじめまして、Javaに関しては初心者です。
VBからJavaにプログラムを書き換えている最中なのですが、Javaの知識があまりなく、 次のことではまっています。なにか情報を頂けないでしょうか? VBで構造体の中身をPutメソッドを使ってバイナリファイルとして情報を保存した ファイルをVBでGetメソッドを利用して構造体に再セットしています。 バイナリファイルとして情報を保存している部分は、Javaへ変換せず、Getメソッドで 読み込む部分のみJavaに変換しようとしています。 このGetメソッドをJavaに変換する部分を どう Java で実装すればいいか教えてもら えないでしょうか? 以下にVBでのソースとバイナリファイルのサンプルを記述しておきます。 「VBのソース」 Type Usr strTitle As String strName As String Num(1 To 2) As Integer End Type Dim uWk As Usr Open "test.bin" For Binary Access Read Shared_ As #FNo Get #FN, , uWk Close #FN 「バイナリファイルの中身」 バイト数 1 2 3 4 5 6 7 8 9 10 11 バイトコード 02 00 31 32 01 00 39 21 00 16 00 | ||||
|
投稿日時: 2003-10-02 15:28
どのバージョンのJ2SDKを使用しているのかは分からないですが、1.4であればjava.nio.ByteBufferを使用することで、バイナリファイルをbyteの配列として読み込むことが出来ます。
あとは、バイナリフォーマットに従って、自身で、インスタンスフィールドにセットしていけばよいでしょう。 ByteBufferの使用法については.....、検索サイトで探してください。 VB -> Java変換ツールを使用するわけではないですよね? [ メッセージ編集済み 編集者: かずくん 編集日時 2003-10-02 15:29 ] | ||||
|
投稿日時: 2003-10-02 22:21
>VBで構造体の中身をPutメソッドを使ってバイナリファイルとして情報を保存した
>ファイルをVBでGetメソッドを利用して構造体に再セットしています。 >バイナリファイルとして情報を保存している部分は、Javaへ変換せず、Getメソッドで >読み込む部分のみJavaに変換しようとしています。 >このGetメソッドをJavaに変換する部分を どう Java で実装すればいいか教えてもら >えないでしょうか? VBについては知りませんが,ひょっとしてこれはJavaで言うSerializeの ことじゃないですか?使ったことはあまりないのですが,Javaオブジェクト をシリアライズして(バイナリデータに変換して),後にJavaオブジェクトに するのは可能なはず.もしそうならば,Serializeとかオブジェクト直列化を キーワードにして検索すればやり方はわかるでしょう. #セキュリティ等,注意すべき点はそれなりにあります. VBオブジェクトをバイナリにして,それを後にJavaオブジェクトにするつもりだと いうのならば,単純な対処法はありません.素直に一つ一つCSVあたりに吐き 出して,それをJavaで読むのが一番単純で確実だと思います. XMLマッピングとかも無いわけではないけれど,複雑で手間がかかるし バグが怖くて使う気にはなれませんね.私は. | ||||
|
投稿日時: 2003-10-03 00:32
Java to Javaであればserializeで可能だと思いますが、VB to Javaではバイナリフォーマットがおそらく異なるため、serializeでは無理なのでは? | ||||
|
投稿日時: 2003-10-03 00:37
ひとつ、確認しておきたい点があります。
今後のバージョンは、Javaに移行するのか?。出力ファイルをVBとJavaで共有するのかです。 もし、Javaに移行するなら、フォーマット変換を組み込むことになると思います。 一方、共有するならCSVやXMLにしたほうが楽だと思います。 | ||||
|
投稿日時: 2003-10-03 00:37
ひとつ、確認しておきたい点があります。
今後のバージョンは、Javaに移行するのか?。出力ファイルをVBとJavaで共有するのかです。 もし、Javaに移行するなら、フォーマット変換を組み込むことになると思います。 一方、共有するならCSVやXMLにしたほうが楽だと思います。 | ||||
|
投稿日時: 2003-10-07 09:36
返信が遅くなってしまい申し訳ございません。 JavaもVBのバージョンも共用と考えています。出力ファイルはVBとJavaで共用する予定です。 一応、ByteBuffer を利用してVBと同様の中身を取り出すことに昨日成功いたしました。 XML化することも考えたのですが、ファイルが2重管理になってしまうのでちょっと気が引いているのが現状です。 ありがとうございました。 | ||||
1
