Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/8: Рейтинг темы: голосов - 8, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 26.05.2013
Сообщений: 11

Нарезка и склейка файлов

18.11.2015, 21:08. Показов 1804. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем доброго времени суток. В шарпе только начал разбираться и учится). По нарезке и склейке нашел следующее.
Код вроде работает, но увы ничего на выходе получить не могу. Как сделать ввод на сколько частей поделить файл(или байт). И вообще почему не работает?) Спасибо. пс склейку пока закоментил
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
namespace filesplit2
{
    class Program
    {
        static void Main(string[] args)
        {
        }
        private void SplitFile(string FileInputPath, string FolderOutputPath, int OutputFiles)
        {
            FileInputPath = "F:\\1.txt";
            // Запись файла в байтах
            Byte[] byteSource = System.IO.File.ReadAllBytes(FileInputPath);
            // Инф. о файле
            FileInfo fiSource = new FileInfo(FileInputPath);
            // Размер каждой части 
            int partSize = (int)Math.Ceiling((double)(fiSource.Length / OutputFiles));
            // Смещение, с которого начинается чтение из файла
            int fileOffset = 0;
 
            // Хранит имя каждой части файла
            string currPartPath;
            // Поток файла, который будет держать каждую часть файла
            FileStream fsPart;
            // Сохраняет оставшуюся длину байт для запись в другие файлы
            int sizeRemaining = (int)fiSource.Length;
 
            // Создание частей файла
            for (int i = 0; i < OutputFiles; i++)
            {
                // Путь части файла
                currPartPath = FolderOutputPath + fiSource.Name + "." + String.Format("D:\\{0:D4}", i) + ".part";
                
                // Файловый поток для пути
                if (!File.Exists(currPartPath))
                {
                    fsPart = new FileStream(currPartPath, FileMode.CreateNew);
                    // Оставшийся размер до конца файла
                    sizeRemaining = (int)fiSource.Length - (i * partSize);
                    // Размер последней части файла может отличаться , потому что файл не всегда равного размера
                    if (sizeRemaining < partSize)
                    {
                        partSize = sizeRemaining;
                    }
                    
                    fsPart.Write(byteSource, fileOffset, partSize);
                    fsPart.Close();
                    fileOffset += partSize;
                }
                
            }
        }
 
        //private void JoinFiles(string FolderInputPath, string FileOutputPath)
        //{
        //    DirectoryInfo diSource = new DirectoryInfo(FolderInputPath);
        //    FileStream fsSource = new FileStream(FileOutputPath, FileMode.Append);
 
        //    foreach (FileInfo fiPart in diSource.GetFiles(@"*.part"))
        //    {
        //        Byte[] bytePart = System.IO.File.ReadAllBytes(fiPart.FullName);
        //        fsSource.Write(bytePart, 0, bytePart.Length);
        //    }
        //    fsSource.Close();
        //}
    }
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
18.11.2015, 21:08
Ответы с готовыми решениями:

Склейка массивов
Здравствуйте форумчане, помогите с заданием с образовательной платформы uLearn. Склейка массивов Реализуйте метод Combine,...

Вертикальная склейка изображений
Здравствуйте. Мне нужна небольшая помощь. Дело в том, что у меня во время склейки фотографий (из так называемых обрезок) теряется часть...

Нарезка аудио файлов
Здравствуйте! помогите пожалуйста с написанием программы, которая будет делить исходный аудиофайл на несколько более мелких, причем их...

2
116 / 115 / 64
Регистрация: 03.06.2013
Сообщений: 582
18.11.2015, 22:13
Напишите задание нормально А то что-то неперевариваю.) Как именно надо делить файл.

Добавлено через 1 минуту
Всё, понял.
0
0 / 0 / 0
Регистрация: 26.05.2013
Сообщений: 11
18.11.2015, 23:53  [ТС]
Либо на кол-во частей которые я в ручную задам, либо к примеру по размеру например 1-часть 300байт 2-часть 200, а 3-часть все что осталось от файла)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
18.11.2015, 23:53
Помогаю со студенческими работами здесь

Нарезка AVI файлов
Необходимо удалить часть фильма из всего видеопотока. Есть много программ для нарезки видео, в частности я пользовался Boilsoft Avi...

Нарезка и сборка файлов
Всем доброго времени суток! Есть код склейки файлов, помогите пожалуйста по этому коду написать нарезку файлов! Нарезанные файлы берутся...

Автоматическая нарезка аудио файлов
Здравствуйте,мучаюсь вот с каким делом. есть надиктованный аудио файл. В нем десять слов между ними промежуток. Необходимо нарезать этот...

Склейка файлов
Всем привет. Дали задание на склейку нескольких файлов в один, пример: 1.jpg + 2.gif = 3.dat и обратно извлечь эти файлы из 3.dat,...

Склейка 2-х файлов .txt в 1
Помогите пожалуйста срочно нужен код.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru