我有宣佈爲Java變量:Java的DataOutputStream類對象刷新8192個字節
RandomAccessFile file = new RandomAccessFile("path-to-file");
DataOutputStream output = new DataOutputStream(new BufferedOutputStream(new FileOutputStream(file.getFD())));
的問題是,2048之後推出的整數(或8192個字節),如果我嘗試寫一個又一個,輸出會在沒有任何警告的情況下刷新到磁盤。
經過一番研究,我發現DataOutputStream有一個64k的限制,我找不到有關BufferedOutputStream或FileOutputStream的官方信息。
任何人都可以告訴我哪個結構有這個限制,我該如何增加它?
這也很好找到爲什麼結構刷新而不被告知而不是僅僅引發異常?
那麼,爲什麼你在隨機訪問文件上使用緩衝輸出流? –
是什麼讓你覺得它會引發異常?緩衝的目的是爲了提高效率 - 如果你試圖使用它,這樣你就可以明確地停止寫入數據,直到你刷新它,我建議你寫一個你自己的流封裝器。 –
除了用於BufferedOutputStream的javadoc之外,它顯然是負責緩衝的類? –