short类型的数组保存成文件
我有一个short:   buffer[8000] 
 我想把它保存到一个文件中 
 不知道用哪个类 
 我用了FileStream类,但这个类只能存储字节型的 
------解决方案--------------------你可以把short拆成2个byte再保存,读的时候每2个byte拼成一个short。 
 也可以转成string后一行保存一个,读的时候Convert.ToInt16或者Int16.Parse。
------解决方案--------------------自己定义文件格式,如: 
 文件头用4个字节存储数组的长度,因为一个short存储点2个字节,所以文件的长度就是4字节+数组长度*2; 
 short[] arrShort = new short[8000]; 
 for( int i = 0; i  < arrShort.length; ++i ) 
 { 
  arrShort[i] = 0;//赋值 
 } 
 FileStream fs = new FileStream( file ); 
 byte[] arrFileLengths = BitConverter.GetBytes( arrShort.length ); 
 fs.write( arrFileLenghts,0,arrFileLenghts.length ); 
 for( int i = 0; i  < arrShort.length; ++i ) 
 { 
  arrFileLengths = BitConverter.GetBytes( arrShort[i] ); 
  fs.write( arrFileLenghts,0,arrFileLenghts.length ); 
 } 
 以上代码未经测试.
------解决方案--------------------//写 
 private void button1_Click(object sender, EventArgs e) 
 { 
     short[] buffer = new short[] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }; 
     FileStream vFileStream = new FileStream(@ "c:\temp\temp.dat ",   
         FileMode.Create,  FileAccess.Write); 
     byte[] temp = new byte[buffer.Length * sizeof(short)]; 
     Buffer.BlockCopy(buffer, 0, temp, 0, temp.Length); 
     vFileStream.Write(temp, 0, temp.Length); 
     vFileStream.Close(); 
 } 
------解决方案--------------------用Buffer.BlockCopy复制到Byte数组
------解决方案--------------------//读 
 protected void button2_Click(object sender, EventArgs e) 
 { 
     FileStream vFileStream = new FileStream(@ "c:\temp\temp.dat ", 
         FileMode.Open, FileAccess.Read); 
     byte[] temp = new byte[vFileStream.Length]; 
     vFileStream.Read(temp, 0, temp.Length); 
     short[] buffer = new short[temp.Length / sizeof(short)]; 
     Buffer.BlockCopy(temp, 0, buffer, 0, buffer.Length * sizeof(short)); 
     vFileStream.Close(); 
     Text = string.Format( "{0},{1},{2} ", buffer[0], buffer[1], buffer[2]); 
 } 
------解决方案--------------------要注意Buffer.BlockCopy方法的参数,无论偏移量还是个数,都是按字节算的~
------解决方案--------------------sizeof(short)在safe中可以编译