Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Проблема с записью в файл

8.9K
24 сентября 2006 года
Kulti
77 / / 29.07.2006
Возникла проблемка с записью в файл.
Цитата:

PackFile = new StreamWriter(FileName); //Открыли файл
PackFile.Write(Convert.ToChar(SizeBlock)); //Записали инфу
Size = 1 + SizeBlock * files.Length; //Начальное смещение
foreach (string f in files)
{
byte b1 = (byte)(Size / 256 / 256);
PackFile.Write((char)b1);
byte b2 = (byte)((Size - b1 * 256 * 256) / 256);
PackFile.Write((char)b2);
byte b3 = (byte)(Size - b1 * 256 * 256 - b2 * 256);
PackFile.Write((char)b3);
PackFile.Close();
FileInfo FI = new FileInfo(f); //Получить информацию о файле
Size += FI.Length; //Прибавить его длинну
}
PackFile.Close();


Почему-то пишутся лишнее символы. Вот например: Size = 1981 => b1 = 00, b2 = 07, b3 = bd. А он почему-то записал 0007C2BD!.

713
25 сентября 2006 года
Ap0k
360 / / 13.03.2006
Смысл кода?
8.9K
25 сентября 2006 года
Kulti
77 / / 29.07.2006
Пишешь, пишешь на "сипипи", а потом БАЦ! С#. И даже в голову не приходит, что char уже не восьмибитный, а шестнадцати... Эх! срам да и только...
713
25 сентября 2006 года
Ap0k
360 / / 13.03.2006
Ещё раз повторю свой вопрос, что ты хочешь сделать, я почти на 100% уверен, что это можно реализовать гораздо проще... а тот код, что ты привёл не навёл меня ни на какие мысли...
8.9K
26 сентября 2006 года
Kulti
77 / / 29.07.2006
Если вам так интересно, то скажу, хотя я уже сам все упростил. Но с удовольствием выслушаю ваш совет. Задача такая: есть куча файлов(~1kb), естесно они жрут дофига дискового пространства.(22 метра вместо 100 килобайтов!). Ну вот я и решил запихнуть их все в один файл. А в этом участке кода я вычисляю смещения на начало каждого файла.
273
26 сентября 2006 года
3A3-968M
1.2K / / 22.12.2005
[quote=Kulti]Если вам так интересно, то скажу, хотя я уже сам все упростил. Но с удовольствием выслушаю ваш совет. Задача такая: есть куча файлов(~1kb), естесно они жрут дофига дискового пространства.(22 метра вместо 100 килобайтов!). Ну вот я и решил запихнуть их все в один файл. А в этом участке кода я вычисляю смещения на начало каждого файла.[/quote]
Оформляешь всё в виде XML а потом архивируешь средствами System.IO.Compression (смотри FAQ)
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог