bytebuffer

    32熱度

    1回答

    我需要將java.nio.ByteBuffer的內容放入java.io.OutputStream。 (希望我有一個Channel,但我不這樣做)最好的方法是什麼? 我不能使用ByteBuffer的array()方法,因爲它可以是隻讀緩衝區。 我也可能會在使用此ByteBuffer和具有byte[]的常規數組之間插入對OutputStream的寫入,我可以直接使用OutputStream.write

    3熱度

    6回答

    我使用ByteBuffers和FileChannels將二進制數據寫入文件。當爲大文件或連續多個文件做這件事時,我會遇到一個例外情況OutOfMemoryError。 我讀過其他地方,使用Bytebuffers與NIO已損壞,應該避免。你們有沒有遇到這種問題,並找到一種解決方案來高效地將大量二進制數據保存在java文件中? jvm選項-XX:MaxDirectMemorySize要走的路嗎?

    5熱度

    3回答

    是否可以使用NIO來處理來自進程的stdout?我已經與java.io一起工作,但這是一個練習,可以學習更多關於NIO的知識,並探討性能改進的可能性。 基本上我希望儘可能快地將大量文本從stdout流入緩衝區而不會阻塞,然後稍後處理該緩衝區的內容。麻煩的是,我似乎無法弄清楚正確的巫術使它與NIO合作。這就是我現在: ProcessBuilder pb = new ProcessBuilder(..

    3熱度

    3回答

    有沒有辦法用BufferedReader讀取ByteBuffer,而不必首先將它變成String?我想通讀一個相當大的ByteBuffer作爲文本行,並且出於性能原因,我想避免將它寫入磁盤。在ByteBuffer上調用toString不起作用,因爲結果字符串太大(它會拋出java.lang.OutOfMemoryError:Java堆空間)。我原以爲API中會有東西將一個ByteBuffer包裝在

    2熱度

    2回答

    我正在從事一個在線遊戲,並且在服務器端工作時遇到了一些小麻煩。 在Java中使用非阻塞套接字時,處理完整分組數據集的最佳操作過程是什麼?在所有數據都可用之前無法處理完整分組數據集?例如,通過套接字發送大的2D平鋪地圖。 我能想到的兩種方法處理: 分配字節緩衝區大到足以處理來處理從我的例子大型2D瓷磚地圖所需要的完整的數據集。繼續將讀取數據添加到緩衝區,直到全部收到並從那裏進行處理。 如果ByteB

    4熱度

    1回答

    我正在做Java內存映射IO。 FileChannel類允許您將ByteBuffer映射到文件的特定部分。我正在做一個文件打開只讀。 我遇到的問題是,當我嘗試調用生成的ByteBuffer上的.array()方法時,出現異常。也許這是因爲.array()返回一個byte []數組,我真的想要一個finalized的字節數組? 有沒有辦法解決這個問題?