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 に答える