9

嗨,我正在将音频文件读入字节数组。然后我想从该字节数组中读取每 4 个字节的数据并将其写入另一个文件。

我能够做到这一点,但是,我的问题是我想在每 4 个字节的数据写入文件后添加新行。怎么做??这是我的代码...

FileStream f = new FileStream(@"c:\temp\MyTest.acc");
for (i = 0; i < f.Length; i += 4)
{
    byte[] b = new byte[4];
    int bytesRead = f.Read(b, 0, b.Length);

    if (bytesRead < 4)
    {
        byte[] b2 = new byte[bytesRead];
        Array.Copy(b, b2, bytesRead);
        arrays.Add(b2);
    }
    else if (bytesRead > 0)
        arrays.Add(b);

    fs.Write(b, 0, b.Length);
}

请有任何建议。

4

2 回答 2

21

我认为这可能是您问题的答案:

            byte[] newline = Encoding.ASCII.GetBytes(Environment.NewLine);
            fs.Write(newline, 0, newline.Length);

所以你的代码应该是这样的:

            FileStream f = new FileStream("G:\\text.txt",FileMode.Open);
            for (int i = 0; i < f.Length; i += 4)
            {
                byte[] b = new byte[4];
                int bytesRead = f.Read(b, 0, b.Length);

                if (bytesRead < 4)
                {
                    byte[] b2 = new byte[bytesRead];
                    Array.Copy(b, b2, bytesRead);
                    arrays.Add(b2);
                }
                else if (bytesRead > 0)
                    arrays.Add(b);

                fs.Write(b, 0, b.Length);
                byte[] newline = Encoding.ASCII.GetBytes(Environment.NewLine);
                fs.Write(newline, 0, newline.Length);
            }
于 2012-10-18T09:08:10.763 回答
3

传递System.Environment.NewLine到文件流

欲了解更多信息http://msdn.microsoft.com/en-us/library/system.environment.newline.aspx

于 2012-10-18T09:08:21.807 回答