繁体   English   中英

JAVA将数据存储到outputBuffer数组中,并在其已满时将其写入文件

[英]JAVA storing data into outputBuffer array and when it is full write it into file

在开始之前,我想说我只有几个小时的Java经验,因此如果有点简单的问题对此感到抱歉。

现在,我有一个字节数组并将字节存储到其中,当其达到最大容量时,我想将其写入二进制文件并继续循环。 为此,我实现了以下代码。

// I have an byte array my_array which has already been full 
OutputStream output=null;
output = new BufferedOutputStream(new FileOutputStream(outputFName)); //I'm not sure this
byte [] outputBuffer=new byte[PageSize];

int index=0; // shows the last used index in outputBuffer
for(int i=0;i<13;i++){
     // if my_array[i] holds condition{
           // if index>=PageSize{
                  // write the content of outputBuffer into outputFname
                  index=0;
           }
           // else{
                  outputBuffer[index+1]=my_array[i];
              }
      }
}

现在我不知道如何将其写入文件。 有没有人可以帮助我? 提前致谢。

像这样构造您的OutputStream

output = new BufferedOutputStream(new FileOutputStream(outputFName), PageSize);

并正常写入。 您可以让BufferedOutputStream完全按照您的要求进行操作。 构造函数的第二个参数是缓冲区大小。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM