33 / 8 / 6
Регистрация: 28.09.2016
Сообщений: 200
1
.NET 4.x

Ошибка в считывания байтов и создания исходного файла

30.03.2017, 23:16. Показов 824. Ответов 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
public static bool FileEncryption(string path)
        {
            if (ready)
            {
                using (System.IO.StreamWriter file = new StreamWriter(path + ".elmanz", true))
                using (var fileIn = File.Open(path, FileMode.Open, FileAccess.Read))
                {
                    var buff = new byte[4 * 1024 * 1024];
                    int readed = 0;
                    bool flag;
                    do
                    {
                        flag = (readed = fileIn.Read(buff, 0, buff.Length)) >= buff.Length;
                        StringBuilder hex = new StringBuilder(buff.Length * 2);
                        foreach (byte b in buff) hex.AppendFormat("{0:x2}", b);
                        file.WriteLine(hex.ToString());
                    } while (flag);
                }
                return true;
            }
            else return false;
        }
 
        public static bool FileDecipher(string path)
        {
            if (ready)
            {
                if (path.Contains(".elmanz"))
                {
                    int k = 0;
                    Stream zs = new FileStream(path.Replace(".elmanz", String.Empty), FileMode.Append, FileAccess.Write);
                    using (BinaryWriter bw = new BinaryWriter(zs))
                    using (StreamReader fs = new StreamReader(path))
                    {
                        while (true)
                        {
                            string strbuff = fs.ReadLine();
                            if (strbuff == null) break;
                            byte[] WorkBuff = new byte[strbuff.Length / 2];
                            for (int i = 0; i < WorkBuff.Length; i++)
                            {
                                string tempstring = strbuff.Substring(i * 2, 2);
                                WorkBuff[i] = Convert.ToByte(tempstring, 16);
                            }
                            bw.Write(WorkBuff);
                        }
                    }
                    zs.Close();
                    return true;
                }
                else return false;
            }
            else return false;
        }
Первая открывает файл и считывает массив байт по 4 Мб в строке и записывает в другой файл
Вторая открывает файл с байтами которые записаны как строки и создает файл переводя эти "байты" (которые она считывает с файла) в массив настоящих байтов и так получается исходный файл

Так вот где то есть ошибка но я не могу найти(

В идеале первая функция должна создавать файл в котором будут записаны байты переведенные в строки по максимум 4 мб в строке
А вторая считывать эти строки и создавать файл переводя строки байтов в настоящие байты
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.03.2017, 23:16
Ответы с готовыми решениями:

В какой тип данных переводить из wav-файла раздел data после считывания байтов
Добрый вечер, суть вопроса: 1) Что получает на вход БПФ и что выдает ( в каком формате ), иными...

Ошибка считывания из xml файла
при работе приложения возникает ошибка &quot;Необработанное исключение типа...

Ошибка при чтении байтов из файла
Добрый день! Подскажите пожалуйста, что я делаю не так. Редактор выдаёт ошибку: &quot;Невозможно...

Ошибка считывания из файла
Столкнулся с ошибкой чтения в переменную. Нажимаю на кнопочку &quot;insetsave&quot; - сохранение переменной...

2
3449 / 2458 / 1168
Регистрация: 14.08.2016
Сообщений: 8,148
31.03.2017, 01:55 2
текст самой ошибки, видимо, гостайна?!
а что говорит try-catch?!
0
33 / 8 / 6
Регистрация: 28.09.2016
Сообщений: 200
31.03.2017, 18:04  [ТС] 3
Diamante, Ошибки как таковой то нети и блока try catch тоже просто вертает вторая всегда false

Добавлено через 9 часов 53 минуты
Проблема решена! Функции работают отлично я не правильно визивал 2 функцию (не передавал путь)
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
31.03.2017, 18:04
Помогаю со студенческими работами здесь

Ошибка считывания с файла
Всем доброго времени суток! Не понимаю, почему в функции button1_Click компилятор ругается на...

Написать strlen() путем считывания групп из 8ми байтов строки
Всем здравствуйте. Хочу написать strlen () путем считывания групп из 8ми байтов (long long)...

Ошибка считывания из файла динамического массива структур
Строка таблицы содержит следующую информацию о первокурсниках: фамилия, имя, отчество, группа,...

Выдаёт ошибку Ошибка времени выполнения: Попытка считывания за концом текстового файла
Не могу понять структуру. Вроде пишу всё правильно, но всё равно выдаёт ошибку. Выдаёт ошибку...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru