C#处理文件/字节
我对用c#编辑文件有一些疑问 我已设法将文件读入字节[]。如何获取每个字节的ASCII码并将其显示在表单的文本区域中 另外,如何更改字节,然后将它们写回文件 例如: 我有一个文件,我知道前三个字节是字母。如何将第二个字母改为“A”,然后保存文件C#处理文件/字节,c#,visual-studio,file-io,io,byte,C#,Visual Studio,File Io,Io,Byte,我对用c#编辑文件有一些疑问 我已设法将文件读入字节[]。如何获取每个字节的ASCII码并将其显示在表单的文本区域中 另外,如何更改字节,然后将它们写回文件 例如: 我有一个文件,我知道前三个字节是字母。如何将第二个字母改为“A”,然后保存文件 谢谢 我只能假设您想练习按字节向文件写入或从文件写入。你需要了解这个课程,这个课程有很多帮助。要读入一个值,可以将每个字节读入一个字节[]。一旦你有了byte[],它就会像这样 string s = BitConverter.ToString(byteA
谢谢 我只能假设您想练习按字节向文件写入或从文件写入。你需要了解这个课程,这个课程有很多帮助。要读入一个值,可以将每个字节读入一个字节[]。一旦你有了byte[],它就会像这样
string s = BitConverter.ToString(byteArray);
然后,您可以对字符串值进行调整,以便使用GetBytes方法写回文件
byte[] newByteArray = BitConveter.GetBytes(s);
然后可以将字节写回文件。如果文件是ASCII码,则每个字节都是ASCII码。将字节的值打印到(比如)标签上,就这么简单 如果您已将文件读入
byte[]文件代码>
label1.Text = file[1].ToString();
要将第二个字母更改为A,请执行以下操作:
file[1] = (byte)'A';
或
我不确定,我的Mac电脑上没有C#测试
但说真的,如果它是一个文本文件,那么最好将其作为文本读取,而不是作为字节[]
读取。您可能希望使用StringBuilder
第一,要:
如果文件也是unicode的话,这也会起作用
然后,您可以获得Unicode值(对于大多数拉丁字符,它与ASCII值相同),如下所示:int value=(int)myString[5]代码>左右
然后,您可以像这样写回文件:
System.IO.File.WriteAllText("c:\\test.txt", myString);
如果要对文本进行大量修改,应该使用,否则,正常的字符串操作就可以了。另请参见MSDN上的“File.ReadAllText”、“File.ReadAllLines”、“如何:从文件读取文本”、“如何:将文本写入文件”。
// Read the file as one string.
System.IO.StreamReader myFile =
new System.IO.StreamReader("c:\\test.txt");
string myString = myFile.ReadToEnd();
myFile.Close();
System.IO.File.WriteAllText("c:\\test.txt", myString);