powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / читать писать в файл можно чем то, кроме массива байт, как в примере? +
16 сообщений из 16, страница 1 из 1
читать писать в файл можно чем то, кроме массива байт, как в примере? +
    #38623034
Фотография tchingiz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
увеличиваю каждое второе челое число.

Код: 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.
//#define TEST

using System;
using System.Data;
using System.Drawing;
//using System.Windows.Forms; 
using System.IO;
using System.Collections.Specialized;
using System.Threading;
using System.Globalization;
using System.Runtime.InteropServices;


class application { [STAThread] static void Main(string[] args) { byte[] buf4c = new byte[4]; byte[] buf4n = new byte[4]; int red = 0; int redn = 0; long pos = 0; int coin = 0; int number = 0; string me_ = "Main"; using (FileStream rws = new FileStream ("data.bin", FileMode.Open)) { while ( ((red = rws.Read(buf4c, 0, 4)) ==4 ) && ((redn = rws.Read(buf4n, 0, 4)) ==4 )) { // if (BitConverter.IsLittleEndian) {Array.Reverse(buf4c); Array.Reverse(buf4n); } coin = BitConverter.ToInt32(buf4c, 0); number = BitConverter.ToInt32(buf4n, 0); pos = rws.Position; Console.Error.WriteLine("next pair {0}:{1}/ {2}", coin, number, pos); rws.Seek (-4, SeekOrigin.Current); buf4n =BitConverter.GetBytes(++number); rws.Write(buf4n, 0, 4); } if (red !=0 || redn !=0){ Console.Error.WriteLine("wrong length of file: {0}/{1}", red, redn); } } } } // gVars.log.wrLn("{0} is finished. rc: {1}; sid: {2}; newV/oldV/diff: {3}/{4}/{5} \n", // me_, rc, gVars.sid, newV, oldV, val);

...
Рейтинг: 0 / 0
читать писать в файл можно чем то, кроме массива байт, как в примере? +
    #38623052
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tchingiz,

BinaryWriter
...
Рейтинг: 0 / 0
читать писать в файл можно чем то, кроме массива байт, как в примере? +
    #38623061
Фотография tchingiz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
читать писать в файл можно чем то, кроме массива байт, как в примере? +
    #38623072
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tchingizа где там слово Read ?
BinaryReader :)
...
Рейтинг: 0 / 0
читать писать в файл можно чем то, кроме массива байт, как в примере? +
    #38623077
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Изопропилtchingizа где там слово Read ?
BinaryReader :)

базовый поток может быть общим, никакой собственной буферизации BinaryReader и BinaryWriter не имеют
...
Рейтинг: 0 / 0
читать писать в файл можно чем то, кроме массива байт, как в примере? +
    #38623079
Фотография tchingiz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а вместе (одновремено читать и писать туда же)?

YouTube Video
...
Рейтинг: 0 / 0
читать писать в файл можно чем то, кроме массива байт, как в примере? +
    #38623081
Фотография tchingiz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ИзопропилИзопропилпропущено...

BinaryReader :)

базовый поток может быть общим, никакой собственной буферизации BinaryReader и BinaryWriter не имеют
то есть?
както открыть базовый поток?
а потом два конструктора из него?
...
Рейтинг: 0 / 0
читать писать в файл можно чем то, кроме массива байт, как в примере? +
    #38623086
Фотография tchingiz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а у Stream нет конструктора?
...
Рейтинг: 0 / 0
читать писать в файл можно чем то, кроме массива байт, как в примере? +
    #38623092
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tchingizкакто открыть базовый поток?
а потом два конструктора из него?
ага, FileStream как базовый


если хочешь прослезиться - исходник посмотри http://referencesource.microsoft.com/#mscorlib/system/io/binarywriter.cs
...
Рейтинг: 0 / 0
читать писать в файл можно чем то, кроме массива байт, как в примере? +
    #38623097
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tchingizа у Stream нет конструктора?
нету, он абстрактый
не кривее чем в Java иерархия имхо
...
Рейтинг: 0 / 0
читать писать в файл можно чем то, кроме массива байт, как в примере? +
    #38623098
Фотография tchingiz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
     using (BinWriter w  = new BinWriter
        ("data.bin", FileMode.Open))
     {
       using ( BinReader r = new BinReader (w.BaseStream))
          {

      
       ....
          }

     }



?
...
Рейтинг: 0 / 0
читать писать в файл можно чем то, кроме массива байт, как в примере? +
    #38623106
Фотография tchingiz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Изопропилtchingizкакто открыть базовый поток?
а потом два конструктора из него?
ага, FileStream как базовый


если хочешь прослезиться - исходник посмотри http://referencesource.microsoft.com/#mscorlib/system/io/binarywriter.cs
ой
пойду выпью чегото не подходяшего
мне массив байт уже нравится больше.
...
Рейтинг: 0 / 0
читать писать в файл можно чем то, кроме массива байт, как в примере? +
    #38623115
Фотография tchingiz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
  public unsafe virtual void Write(double value)
        {
            ulong TmpValue = *(ulong *)&value;
            _buffer[0] = (byte) TmpValue;
            _buffer[1] = (byte) (TmpValue >> 8);
            _buffer[2] = (byte) (TmpValue >> 16);
            _buffer[3] = (byte) (TmpValue >> 24);
            _buffer[4] = (byte) (TmpValue >> 32);
            _buffer[5] = (byte) (TmpValue >> 40);
            _buffer[6] = (byte) (TmpValue >> 48);
            _buffer[7] = (byte) (TmpValue >> 56);
            OutStream.Write(_buffer, 0, 8);
        }
 
        public virtual void Write(decimal value)
        {
            Decimal.GetBytes(value,_buffer);
            OutStream.Write(_buffer, 0, 16);
        }
    



а че для даубле не гетбайтес? оно медленное?
...
Рейтинг: 0 / 0
читать писать в файл можно чем то, кроме массива байт, как в примере? +
    #38623122
Фотография tchingiz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tchingiz
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
     using (BinWriter w  = new BinWriter
        ("data.bin", FileMode.Open))
     {
       using ( BinReader r = new BinReader (w.BaseStream))
          {

      
       ....
          }

     }



?

01

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
     using (BinWriter w  = new BinWriter
         (File.Open("data.bin", FileMode.Open))  // <------------------
//        ("data.bin", FileMode.Open))
     {
       using ( BinReader r = new BinReader (w.BaseStream))
          {

      
       ....
          }

     }
...
Рейтинг: 0 / 0
читать писать в файл можно чем то, кроме массива байт, как в примере? +
    #38623127
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tchingizа че для даубле не гетбайтес? оно медленное?
там на каждое преобразование буфер выделяется
...
Рейтинг: 0 / 0
читать писать в файл можно чем то, кроме массива байт, как в примере? +
    #38623157
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tchingiz01911

Код: c#
1.
2.
3.
            FileStream fs = new FileStream(@"c:\temp\dat.bin", FileMode.Create);
            BinaryWriter wr = new BinaryWriter(fs);
            BinaryReader rd = new BinaryReader(fs);



у BinaryReader не seek (ну так получилось), звать нужно rd.BaseStream.Seek
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / читать писать в файл можно чем то, кроме массива байт, как в примере? +
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]