Как добавить вес к файлу? - C#
Формулировка задачи:
Добавляю byte так
Подскажите как добавить другие (Килобайты, мегайбайты, гигабайты) ?
private void _ByteAdd(string path, long bytes)
{
List<byte> byteList = new List<byte>();
byteList.AddRange((IEnumerable<byte>)File.ReadAllBytes(path));
byte[] numArray = new byte[bytes];
byteList.AddRange((IEnumerable<byte>)numArray);
FileInfo fileInfo = new FileInfo(path);
File.WriteAllBytes(string.Format("{0}\\[FINALE] {1}", (object)fileInfo.DirectoryName, (object)fileInfo.Name), byteList.ToArray());
}private void btStart_Click(object sender, EventArgs e)
{
this._ByteAdd(this.TXPath.Text, (long)((int)this.Nmup.Value * 1024));
}
Если всё таки не понятен для чего пример объясню, Данный метод добавляет вес к файлу в байтах!
Решение задачи: «Как добавить вес к файлу?»
textual
Листинг программы
using System;
using System.IO;
namespace YourNamespace
{
public static class StreamEx
{
public static void Copy(Stream source, Stream destination, int bufferSize)
{
byte[] array = new byte[bufferSize];
int count = source.Read(array, 0, bufferSize);
if (count != 0)
{
do
{
destination.Write(array, 0, count);
count = source.Read(array, 0, bufferSize);
}
while (count != 0);
}
}
}
// пример использования:
private void _ByteAdd(string source, string destination, long count, long partSize)
{
using (FileStream sourceFile = File.Open(source, FileMode.Open, FileAccess.Read))
{
using (FileStream destFile = File.Open(destination, FileMode.OpenOrCreate, FileAccess.ReadWrite))
{
StreamEx.Copy(sourceFile, destFile, 81920);
destFile.SetLength(sourceFile.Length + count * partSize);
}
}
}
}