Как пропустить EOF при работе с несколькими документами?
Мой ByteArrayOutputStream
содержит данные для нескольких документов (Таким образом, имея более 1 EOF
). Пока я пытаюсь отправить вывод, используя BufferedOutputStream
, он передает только данные для последнего документа (возможно, потому что он перезаписывает все другие документы, кроме последнего).
Есть ли способ, которым я могу пропустить все EOF, кроме последнего, и передать его BuffererdOutputStream
?
Java-код ниже:
private void outputBinaryTable(IRecordSet table, BufferedOutputStream output) throws ConnectorException, IOException
{
IRecordMetaData fields = table.retrieveMetaData();
int columnCount = fields.getColumnCount();
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
//Utils.write("Table " + tableName + " has " + columnCount + " columns.");
loc.errorT("Table Name " + table + " has " + columnCount + " columns.");
if (table.first()){
do // For each row
{
for (int k = 0; k < columnCount; k++)
{
// Get the data as a byte array
byte [] data = table.getBytes(k);
outputStream.write(data);
//Utils.write(new String(data));
// Write the bytes to the output stream
//output.write(data);
}
}
while (table.next());
byte [] combineData = outputStream.toByteArray();
output.write(combineData);
}
}