[英]RandomAccessFile: write(byte) in a loop or write(byte array), whats more effiecient?
[英]only can write until the 924th byte using RandomAccessFile
我在嘗試填充隨機訪問文件時遇到問題,在使用它的循環時,當它到達de 924th字節時它停止寫入,因此,例如,當我嘗試使用“-”填充2500字節時,它僅填充924字節。 這是即時通訊使用的代碼,希望有人可以告訴我我做錯了什么
public class Hashing {
private RandomAccessFile espacio;
public Hashing() throws FileNotFoundException, IOException{
File amigos = new File("Texto");
String r = "rws";
espacio = new RandomAccessFile(amigos ,r);
this.estableceEspacioLlenado();
}
public void estableceEspacioLlenado() throws IOException{
int a = 0;
while(a<2500){
if(a>=241 && a%241==0){
espacio.writeBytes("\n");
a++;
}
else{
espacio.writeBytes("-");
a++;
}
}
}
}
輸出文件:
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
也許數據已緩沖並且尚未刷新到磁盤。 在末尾添加一個close()
調用以確保所有內容都被寫入。
espacio = new RandomAccessFile(amigos ,r);
this.estableceEspacioLlenado();
espacio.close();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.