我有一个配置文件 (.cfg),用于创建命令行应用程序以将用户添加到 SFTP 服务器应用程序。
cfg 文件需要为 cfg 文件中的每个条目保留一定数量的保留字节。我目前只是通过创建一个字节数组并将其转换为字符串,然后将其复制到文件中来将一个新用户附加到文件的末尾,但我遇到了一个障碍。配置文件在文件末尾需要 4 个字节。
我需要完成的过程是从文件中删除这些尾随字节,附加新用户,然后将字节附加到末尾。
因此,现在您已经了解了我的问题背后的一些背景。
这是问题:
如何从字节数组中删除和添加字节?
这是我到目前为止的代码,它从一个文件中读取用户并将其附加到另一个文件中。
static void Main(string[] args)
{
System.Text.ASCIIEncoding code = new System.Text.ASCIIEncoding(); //Encoding in ascii to pick up mad characters
StreamReader reader = new StreamReader("one_user.cfg", code, false, 1072);
string input = "";
input = reader.ReadToEnd();
//convert input string to bytes
byte[] byteArray = Encoding.ASCII.GetBytes(input);
MemoryStream stream = new MemoryStream(byteArray);
//Convert Stream to string
StreamReader byteReader = new StreamReader(stream);
String output = byteReader.ReadToEnd();
int len = System.Text.Encoding.ASCII.GetByteCount(output);
using (StreamWriter writer = new StreamWriter("freeFTPdservice.cfg", true, Encoding.ASCII, 5504))
{
writer.Write(output, true);
writer.Close();
}
Console.WriteLine("Appended: " + len);
Console.ReadLine();
reader.Close();
byteReader.Close();
}
为了尝试说明这一点,这里有一个“图表”。
1) 添加第一个用户
文件(附加文本)末尾的字节数(零)
2) 添加第二个用户
文件(附加文本)(附加文本)末尾字节(零)
等等。