私は既知のサイズのFloatBufferを持っていて、アプリケーションの外で検査するためにデータをバイナリ形式でファイルにダンプしたいだけです。これを行う最も簡単な方法は何ですか? BINARY出力のためのJava FloatBuffer(または任意のバッファ)をファイルに保存する方法
2
A
答えて
4
UPDATE:
// There are dependencies on how you create your floatbuffer for this to work
// I suggest starting with a byte buffer and using asFloatBuffer() when
// you need it as floats.
// ByteBuffer b = ByteBuffer.allocate(somesize);
// FloatBuffer fb = b.asFloatBuffer();
// There will also be endiance issues when you write binary since
// java is big-endian. You can adjust this with Buffer.order(...)
// b.order(ByteOrder.LITTLE_ENDIAN)
// If you're using a hex-editor you'll probably want little endian output
// since most consumer machines (unless you've got a sparc/old mac) are little
FileOutputStream fos = new FileOutputStream("some_binary_output_file_name");
FileChannel channel = fos.getChannel();
channel.write(byteBufferBackingYourFloatBuffer);
fos.close();
テキスト出力:あなたはこれを表示できるようにしたい ので、私はあなたがテキストファイルをしたいと仮定します。あなたはPrintStreamを使いたいでしょう。
// Try-catch omitted for simplicity
PrintStream ps = new PrintStream("some_output_file.txt");
for(int i = 0; i < yourFloatBuffer.capacity(); i++)
{
// put each float on one line
// use printf to get fancy (decimal places, etc)
ps.println(yourFloagBuffer.get(i));
}
ps.close();
完全な生/バイナリ(非テキスト)版を投稿する時間がありませんでした。あなたはそれがFileOutputStreamを使用したいと思う場合は、FileChannelを取得し、直接あなたのバッファ出力各フロートに裏打ちされた、配列を反復処理し、このFloatBuffer(それはByteBufferだから)
-1
を書きます。テキストファイルとfloatBufferを独自のパラメータに置き換えてください。
あなたはバイナリとしてデータを望んAsusmingPrintStream out = new PrintStream("target.txt");
for(float f : floatBuffer.array()){
out.println(f);
}
out.close();
2
:ByteBuffer
と
スタート。 FloatBuffer
を入手するにはasFloatBuffer
に電話してください。あなたの作品を終えたら、ByteBuffer
をWritableByteChannel
に保存してください。
すでにFloatBuffer
がある場合は、手順2のバッファにput
でコピーできます。
パフォーマンスは低いが、より簡単な方法は、Float.floatToIntBit
を使用することです。
(明らかにエンディアンを調べてください)
関連する問題
- 1. アップロードしたファイル(任意のファイル)をSQL AZureテーブルに保存する方法
- 2. 新しいファイルを任意のディレクトリに保存するGroovy
- 3. 日時任意の方法で保存する
- 4. mysqlまたは任意のデータベースに不明な長さのデータを保存する方法
- 5. 任意のタイプの変数をSwiftのUserDefaultsに保存する方法は?
- 6. 保存Expected_outputファイルに(バッファ) - バッシュ
- 7. 任意のerbファイルで任意のビューヘルパーのメソッドにアクセスする方法は?
- 8. 任意のデータを保存するためにMongoDBダイナミックスキーマ
- 9. ファイルに保存するノード、バッファ、
- 10. アップロードされたファイルをJavaのプロジェクトフォルダに保存する方法
- 11. ユーザーから任意の数の入力を保存する方法は?
- 12. Selenium Webdriverを使用して任意のファイルをダウンロードして目的の場所に保存する方法
- 13. 保存された画像(または任意のファイル)のファイル拡張子を決定する
- 14. ダウンロードしたファイルをサーバーからJavaに保存する方法
- 15. クラスターモデルをarffまたはcsvファイル(WEKA JAVA)に保存する方法
- 16. 任意のクラスの保存とシリアライズ
- 17. 変数をワークスペースまたはファイルに保存する方法は?
- 18. ReadMe.txtまたは任意のファイルを\ bin \ debugディレクトリに入れる方法
- 19. バッファの値をマップに保存し、その参照を保存する方法はありますか?
- 20. 任意のメタデータをMicrosoft Word文書に保存する
- 21. grepで任意の数のファイルを処理する方法は?
- 22. 文字列をJavaでスキャンした後にファイルに保存する方法は?
- 23. ファイルをjavaに保存するには?
- 24. VBA - 任意のユーザーのデスクトップに保存する
- 25. ローカルに保存されたxmlファイルを.plistファイルに保存する方法
- 26. のJava:PDFに文字列の入力を保存するための任意の方法
- 27. 一意のイメージのみをストレージに保存する方法は?
- 28. ジャンゴ:任意のモデルをオーバーライドしながら、モデルの保存方法
- 29. SKPaymentトランザクションを保存または保存する方法は?
- 30. RSSをxmlファイルに保存する方法java
ありがとう、実際に私はバイナリですべてを書きたいと思いましたが。私はそれについて具体的には申し訳ありません、私は質問を更新します。 – jblocksom