繁体   English   中英

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

[英]How can I write a short array to a DataOutputStream?

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

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

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

谢谢

正如@Scary Wombat建议的那样,据甲骨文说

对象是类实例或数组。

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();
            }
        }
    }

暂无
暂无

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

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