質問

「FileChannel.map()」を介してメモリにマッピングしているファイルがあります。ただし、文字列を読み取って次のことを行うのは少し奇妙に思えます。 ジェネラコディセタグプレ

C ++のバックグラウンドから、メモリマップファイルがメモリへのポインタとしてユーザーに提供されることがわかりました。それで、バイト配列の使用をスキップして、文字列変換をマップされたメモリからすぐに実行させる良い方法はありますか?

役に立ちましたか?

解決

提案: ジェネラコディセタグプレ

maps.asCharBuffer()を使用して、この方法で文字を取得することもできます。

他のヒント

最終的には、いいえ。ただし、データを文字として表示する方法があります。ByteBuffer.asCharBuffer()を見てください。

内部的には、asCharBuffer()メソッドは、提案しているのと同じことを行いますが、文字ごとに行います。

データのプライベートコピーを必要とするStringを回避することはできません。文字列は不変であり、共有配列を使用している場合は、それを壊す可能性があります。String(CharSequence)またはString(ByteBuffer)コンストラクターがないのは残念です。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top