如何将一个短数组写入DataOutputStream?

时间:2016-09-01 02:09:01

标签: java android

目前我正在向DataOutputStream写一个short数组,如下所示:

for (int i = 0; i < samplesRead; i++)
{
   dos.writeShort(audioBuffer[i]);
}

有没有办法一举一动,而不是每个元素?

由于

1 个答案:

答案 0 :(得分:0)

@Scary Wombat建议,根据oracle

  

对象是类实例或数组。

DataOutputStream用于基本类型但不是对象。

您可以使用ObjectOutputStream一次性将数组写入输出流。

例如,

import java.io.File;
import java.io.FileOutputStream;
import java.io.ObjectOutputStream;

    public class Test {
        public static void main(String args[]){
            try{
                short audioBuffer[] = new short[10000];
                ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(new File("test.txt")));
                oos.writeObject(audioBuffer);
                oos.close();
            }catch(Exception e){
                e.printStackTrace();
            }
        }
    }