我有以下Stream
代码。而且我觉得它真的很古老,而且应该有更清洁的方法来做到这一点。
// Write the current chunk to the stream.
using (var fileStream = new FileStream(tempPath, currentChunk == 0 ?
FileMode.Create :
FileMode.Append))
{
var buffer = new byte[uploadedFile.Length];
uploadedFile.Read(buffer, 0, buffer.Length);
fileStream.Write(buffer, 0, buffer.Length);
}
它在做什么?
我在块中上传文件。所以我们要么创建一个新文件(当我们在第一个块时,即chunk == 0)..或者我们将块数据附加到现有文件。
我觉得3行是过时的,有一种更好的方法可供使用。
是/否/可能?
编辑:.NET 4.0很好我:)
答案 0 :(得分:4)
可能Stream.CopyTo
适合你?
http://msdn.microsoft.com/en-us/library/system.io.stream.copyto.aspx
但是,对于它的价值,我不认为这个API在.NET 4.0之前就已存在。
答案 1 :(得分:1)
您可以查看File
类(System.IO),它提供了用于处理文件的静态方法;所以你的整个代码块都可以成为:
File.AppendAllText(path, contentToAppend);
还有其他方法,例如WriteAllBytes(...)
,WriteAllText(...)
或ReadAllText(...)
供参考:http://msdn.microsoft.com/en-us/library/system.io.file.aspx