请大家帮忙想一个算法,多谢
请大家帮忙想一个算法,谢谢!C# codeListFileInfo fileList new ListFileInfo()fileList 中包含若干
请大家帮忙想一个算法,谢谢!
C# codeList<FileInfo> fileList = new List<FileInfo>();
fileList 中包含若干个音频文件,数量不确定,现在需要对这些文件进行合并,最终返回一个大的音频文件,合并的代码如下:
C# codeFileStream AddStream = new FileStream(fullname1, FileMode.Create);BinaryWriter AddWriter = new BinaryWriter(AddStream);FileStream TempStreamA = new FileStream(fullname2, FileMode.Open);BinaryReader TempReaderA = new BinaryReader(TempStreamA);AddWriter.Write(TempReaderA.ReadBytes((int)TempStreamA.Length));TempReaderA.Close();TempStreamA.Close();FileStream TempStreamB = new FileStream(fullname3, FileMode.Open);BinaryReader TempReaderB = new BinaryReader(TempStreamB);AddWriter.Write(TempReaderB.ReadBytes((int)TempStreamB.Length));TempReaderB.Close();TempStreamB.Close();AddWriter.Close();AddStream.Close();
其中:fullname1为合并以后新文件的文件名(可以自定义),fullname2、fullname3为合并前原始文件的文件名,
fileList 中的文件数量不确定,可能只有1个(实际上就不需要合并)、也可能2个,还可能2个以上,希望写一个函数来概括所有的情况,
请问大家这个函数应该如何写?
[解决办法]一个foreach 遍历整个 fileList
FileStream AddStream = new FileStream(fullname1, FileMode.Create);
BinaryWriter AddWriter = new BinaryWriter(AddStream);
foreach(var name in fileList)
{
FileStream TempStream = new FileStream(name, FileMode.Open);
BinaryReader TempReader = new BinaryReader(TempStream);
AddWriter.Write(TempReader.ReadBytes((int)TempStream.Length));
TempReaderA.disposd();
TempStreamA.Disposd();
}
[解决办法]遍历list取得FileStream TempStreamA = new FileStream(fullname2, FileMode.Open);
然后追加到 AddWriter