读取文件,因为二进制0和1对二进制0和1有所作为,然后将其更改回文件

时间:2019-05-20 23:56:31

标签: c#

我想将任何文件读取为二进制0和1(txt,exe,png等),然后我要对此0和1做一些操作,我想重新创建该文件,例如,如果该文件是.png然后我希望新图像能够正常工作。请注意,我知道更改0和1可能会损坏文件,但是我确实知道对此0和1做些什么

我可以使用以下代码将文件读取为0和1并将其写入txt文件,但是我想要的是在编辑0和1之后重新创建原始文件,并且该文件应该可以工作

string inputFilename = @“ / xx / xxx / xxx / xxx / folder / original.jpg”;         字符串outputFilename = @“ / xx / xxx / xxx / xxx / folder / New.txt”;

    byte[] fileBytes = File.ReadAllBytes(inputFilename);
    StringBuilder sb = new StringBuilder();

    foreach (byte b in fileBytes)
    {
        sb.Append(Convert.ToString(b, 2).PadLeft(8, '0'));
    }

    File.WriteAllText(outputFilename, sb.ToString());

我希望将任何文件读取为二进制文件,对0和1进行处理,然后再次重新创建文件

1 个答案:

答案 0 :(得分:1)

var byteData = File.ReadAllBytes(inputFileName);
var bitData = new BitArray(byteData);

for(var i = 0; i < bitData.Length; i++)
{
    // do something to bitData[i] as bool values(true as 1 and false as 0);
}

bitData.CopyTo(byteData, 0);
File.WriteAllBytes(outputFileName, byteData);