C#中如何从字节数组中删除和添加字节我有一个配置文件(.cfg),我用它创建了一个命令行应用程序将用户添加到SFTP服务器应用程序。cfg文件需要为cfg文件中的每个条目保留一定数量的字节。我目前只是通过创建字节数组并将其转换为字符串,然后将其复制到文件中,将新用户附加到文件末尾,但我遇到了麻烦。配置文件在文件末尾需要4个字节。我需要完成的是从文件中删除这些尾随字节,追加新用户,然后将字节追加到末尾。所以,现在你的问题背后有一些背景。这里有一个问题:如何从字节数组中删除和添加字节?这是我到目前为止的代码,它从一个文件中读取用户并将其附加到另一个文件中。staticvoidMain(string[]args){System.Text.ASCIIEncodingcode=newSystem.Text.ASCIIEncoding();//编码为ascii以拾取疯狂字符StreamReaderreader=newStreamReader("one_user.cfg",code,false,1072);字符串输入=“”;输入=reader.ReadToEnd();//将输入字符串转换为字节byte[]byteArray=Encoding.ASCII.GetBytes(input);MemoryStreamstream=newMemoryStream(byteArray);//将Stream转换为字符串StreamReaderbyteReader=newStreamReader(stream);字符串输出=byteReader.ReadToEnd();intlen=System.Text.Encoding.ASCII.GetByteCount(output);使用(StreamWriterwriter=newStreamWriter("freeFTPdservice.cfg",true,Encoding.ASCII,5504)){writer.Write(output,true);writer.Close();}Console.WriteLine("追加:"+len);控制台.ReadLine();读者。关闭();byteReader.Close();为了说明这一点,这里有一个“图表”。1)添加文件的第一个用户端(附加文本)字节(零)2)添加文件的第二个用户端(附加文本)(附加文本)字节(零)等你没有。您可以复制到所需大小的新数组。或者您可以使用一个列表,并从中创建一个数组。但是,对于您的情况,我建议您自己查看文件流……它们允许您读取和写入单个字节或字节数组,并且:它允许您移动到文件中的任意位置……所以,对于对于您描述的用例,您会有这样的事情:fs.Write(userBytes);fs.Write(fourBytesAtEnd);}这还有一个好处,就是不必浏览整个文件并将其写回。明确回答您的问题:如何从字节数组中删除和添加字节?您只能通过创建一个新数组并将字节复制到其中来完成此操作。幸运的是,使用Array.Resize()简化了这个过程:byte[]array=newbyte[10];Console.WriteLine(array.Length);//打印10Array.Resize(refarray,20);//将旧数组的内容复制到新数组。Console.WriteLine(array.Length);//如果需要从头开始删除字节则打印20-Array.Copybytesfirstinsteadofresize(copyifyoudon'tlikereftoanewarray):以上是C#学习教程:如何删除和添加字节从C#中的字节数组共享所有内容。关注—//从数组开头删除42个字节,根据需要添加大小检查Array.Copy(array,42,array,0,array.Length-42);Array.Resize(refarray,array.Length-42);本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
