Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/354.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 输出流只保存了16位的一半_Java_Save_Outputstream_16 Bit - Fatal编程技术网

Java 输出流只保存了16位的一半

Java 输出流只保存了16位的一半,java,save,outputstream,16-bit,Java,Save,Outputstream,16 Bit,这就是我得到的: Main: buff.clearColor((short)0x00ffff00); - - - - - - Buffer: DataOutputStream dataOutputStream = new DataOutputStream(out); for (int i : colorBuffer) { dataOutputStream.writeShort(i); } void clearColor(short c) { for(int i=0;

这就是我得到的:

 Main:
 buff.clearColor((short)0x00ffff00);

 - - - - - -

 Buffer:
 DataOutputStream dataOutputStream = new DataOutputStream(out);
 for (int i : colorBuffer) {
 dataOutputStream.writeShort(i);
 }

void clearColor(short c)
{
    for(int i=0; i<width*height; i++)
    {
        colorBuffer [i] = c;
    }
}
Main:
浅黄色透明色((短)0x00ffff00);
- - - - - -
缓冲区:
DataOutputStream DataOutputStream=新的DataOutputStream(输出);
for(int i:colorBuffer){
dataOutputStream.writeShort(i);
}
void clearColor(短c)
{
对于(int i=0;i
writeShort(i)
写一个短的右键

一个
短的
只有2个字节……而你需要4个字节,不是吗


实际上,
(短)0x00ffff00
已经将其剪切。使用
int
例如,

你是对的,我试图将其保存为int,但我使用了dataOutputStream.write(I);而不是dataOutputStream.writeInt(I);因此你使用buff.clearColor((int)0x00ffff00)和dataOutputStream.writeInt(I);它仍然不起作用?
write(I)
只写入
i
的底部字节
0xff00
不是16位的一半,而是16位。投票结束这个问题。这是一个转移视线的问题,只会让未来的访问者对StackOverflow感到困惑。