using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.IO; namespace WindowsFormsApplication9 { public partial class Form1 : Form { private string res = ""; public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { OpenFileDialog ss = new OpenFileDialog(); if (ss.ShowDialog() == DialogResult.OK) { res = ss.FileName; } fun(); } public void fun() { FileInfo fileinfo = new FileInfo(res); long len =160; MessageBox.Show(len.ToString()); byte[] buff1 = new byte[len]; byte[] buff2 = new byte[160]; FileStream fs = new FileStream(res, FileMode.Open); fs.Read(buff1, 0, (int)len); fs.Close(); OppositeByteArray(buff1,ref buff2); FileStream fw = new FileStream(res, FileMode.Open); for (int i = 0; i < 160; i++) { fw.WriteByte(buff2[i]); } //fw.Write(buff1, 0, (int)len); fw.Write(buff1,0,(int)len); fw.Close(); fileinfo = new FileInfo(res); } /// <summary> /// 把一个字节数组按位取反,得到一个新的字节数组 /// </summary> /// <param name="inputData"></param> /// <param name="outputData"></param> public static void OppositeByteArray(byte[] inputData, ref byte[] outputData) { int len = inputData.Length; int temp; for (int i = 0; i < len; i++) { temp = (int)inputData[i];//原字节数组字节转成int型 outputData[i] = (byte)~temp;//取反后赋给输出字节数组 } } } }