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

Чтение и запись файла

26.05.2011, 00:15. Показов 2237. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Подскажите пожалуйста, мне необходимо открывать любой файл из диалогового меню, загружать, разбивать побайтово и обратно записать. Код есть, но записанный файл не открывается, пишет что он поврежден.
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
// открытие и запись в массив байт
 if (openFileDialog1.ShowDialog() == DialogResult.OK)
            {
                System.IO.FileStream fs1 = new System.IO.FileStream(openFileDialog1.FileName, System.IO.FileMode.Open);
                MyFile = new byte[fs1.Length-1 ];
                for (i = 0; i < fs1.Length-1 ; i++)
                {
                    fs1.Read((byte[])MyFile, 0, (int)fs1.Length-1 );
                }
                fs1.Close();
            }
 
 
//запись в файл
 
 
                try
                {
                    System.IO.FileStream fs = new System.IO.FileStream("d:\\aaa", System.IO.FileMode.OpenOrCreate, System.IO.FileAccess.Write);
                    fs.Seek(0, System.IO.SeekOrigin.Begin);
                    fs.Write(file, 0, MyFile.Length); // запись массива байт
                    fs.Dispose(); // освобождаем ресурсы
                }
                catch {Exception exc;}


Подскажите что нужно сделать чтобы файл полность соответствовал тому который открывали[CSHARP][/
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
26.05.2011, 00:15
Ответы с готовыми решениями:

Запись и чтение из файла
Доброго времени суток! Задание было такого: Создать экспертную систему &quot;Где поужинать?&quot;. Реализовать добавление новых вариантов,...

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

Не получается чтение/запись ячеек файла Excel
В программе просто открывается файл из текущей дериктории и я пытаюсь вывести на консоль значение одной ячейки и записать значение в пустую...

3
 Аватар для chessman1
167 / 96 / 23
Регистрация: 13.03.2011
Сообщений: 402
26.05.2011, 08:27
Лучше использовать ReadByte()
Вместо Dispose() лучше Close()
0
 Аватар для Shymep
13 / 13 / 2
Регистрация: 10.01.2010
Сообщений: 34
26.05.2011, 10:15
C#
1
2
3
4
5
6
7
8
9
byte[] data = null;
using(var fs = new FileStream("sourse.dat", FileMode.Open, FileAccess.Read))
{
    data = new BinaryReader(fs).ReadBytes((int)fs.Length);
}
using (var fs = new FileStream("dest.dat", FileMode.Create, FileAccess.Write))
{
    new BinaryWriter(fs).Write(data);
}
Вместо Dispose() лучше Close()
Dispose = Close тождественно (посмотрите IL код)

И лучше использовать конструкцию using
0
Заблокирован
26.05.2011, 10:21
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
private void button1_Click(object sender, EventArgs e)
        {
            System.IO.FileInfo fi; 
            OpenFileDialog Fd = new OpenFileDialog();            
            // Выбираем первоначальную папку.
            Fd.InitialDirectory = @"C:\";
 
           // Fd.Filter = "муз.файлы (*.mp3 *.wma,*.wav,*.cda)|*.mp3;*.wma;*.wav;*.cda|Все файлы|*.*";
            // Показываем диалог.
            if (Fd.ShowDialog() == DialogResult.OK)
            {
                fi = new System.IO.FileInfo(Fd.FileName);
                System.IO.FileStream fs = new System.IO.FileStream(fi.FullName,
                 System.IO.FileMode.Open, System.IO.FileAccess.Read);
                byte[] arrfile = new byte[fs.Length];
                fs.Position = 0;
 
                fs.Read(arrfile, 0, arrfile.Length);
                fs.Close();
 
                System.IO.FileStream fs2 = new System.IO.FileStream("d:\\aaa" + fi.Extension, 
                                    System.IO.FileMode.OpenOrCreate, System.IO.FileAccess.Write);
                fs2.Write(arrfile, 0, arrfile.Length);
               
            }
            
            
        }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
26.05.2011, 10:21
Помогаю со студенческими работами здесь

Чтение и запись любого файла используя только HEX
В общем хочу написать программу, которая будет читать любой файл в виде hex и дописывать/заменять куски в файле на заданные. Но с HEX не...

Загрузка данных из Excel (только чтение из файла) и запись в БД
Загрузка данных из Excel (только чтение из файла) и запись в БД. Вопрос: как проще открыть в ASP.Net Excel-файл (самое главное), и...

Чтение и запись файла в базу
Стоит задача: считать файл и записать его в базу данных и обратно, считать файл из базы и записать его по указанному пути.

Чтение и запись файла. txt
Всех с подступающим:yahoo: Если коротко: 1)хочу писать в файл слова (думаю с помощью StreamWriter ) ...

Запись и чтение из файла
Подскажите как работать с файлами: Значит такое дело, аналог на delphi такой а в C# КАК ? type TMY_C = Record a:...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru