アプリ版:「スタンプのみでお礼する」機能のリリースについて

JAVAでdouble型の情報をリトルエンディアンでバイナリとして出力する方法を教えてください。
現在、java.io.DataOutputStreamを使用し、writeDoubleで出力していますが、ビックエンディアンとしてしか無理でした。

読み込むのはテキスト型で出力がバイナリ。

現在のソースの簡易フローチャートを書いて置きます。

START

テキストファイルから特定の文字列を取得する(1 , 7 , 5.5等)

取得した文字列をそれぞれ対応の型に変換する
int top = Integer.parseInt("1");
int sub = Integer.parseInt("7");
double miks = Double.parseDouble("5.5");

バイナリのフォーマットに合わせて出力する
int型は4バイトでビックエンディアン。
double型は8バイトでリトルエンディアン。


例えば、デフォルトのビックエンディアンで出力した時、数字の1は
00 00 00 01 になりますが、

リトルエンディアンで出力した時は、
01 00 00 00 になると思います。

変換するタイミングとしては、書き込む時にオリジナル機能(メソッド)で書き込むデータ(int型やdouble型)とビックかリトルを指定して、バイナリに出来るものを探しています。

PS
現在の質問はソースを上げるのが一番とは思いますが、社外秘のソースなので、公開することは出来ません。

PPS
私の質問に対する質問があれば、より詳細に答えていくつもりです。


以上、宜しいお願い致します。

A 回答 (2件)

http://sdc.sun.co.jp/java/docs/j2se/1.4/ja/docs/ …

コレ使えませんかねー。
私は使ったことないですけど・・・。
    • good
    • 0
この回答へのお礼

ProKaseifu 様>
返答ありがとうございます。

これは自分で調べた時に出てきたものです。
しかし、バイト順を取得することが出来ても、セットすることが出来ないのかな?と実際に実験して思いました。

どの解説サイトも入力は説明あっても、なぜか出力は無いんですよね。
特に機種依存系はVMで自動的に・・・とかは書いてありますが、独自フォーマット(リトルとビックの混合フォーマット)については、なぜか説明がないんですよ・・・。

ありがとうございました。

お礼日時:2009/02/04 14:00

基本的には特殊な用件でなければ意識しないですから・・・



メインフレーム系とやりとりしたりする時に関係あったりしますが、大抵TCP/IPとかで通信してるから開発者レベルではそのへん気にする必要ないですし。

そんなに難しいロジックでもないと思うので、自作しちゃうのが手っ取り早いかもですね。
    • good
    • 0
この回答へのお礼

はい、そうですね^^

実はここの他に同じ質問をしていたんですが、そこのひとつの回答で解決できました。

ありがとうございました。

お礼日時:2009/02/04 15:12

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!