Struct Record ?

0

Witam :) (zaznaczam ze jestem zielony)

Szukam czegos w Javie co przypominalo by strukture z C albo rekord z Delphi, wiem ze moge sobie zrobic klase ale to nie to samo.

Chodzi mi o taki efekt ze jak np. czyta sie cos z socketa i to jest uporzadkowany pakiet z konkretnymi wartosciami to mozna podstawic taki rekord do funkcji czytajacej i te wartosci zaladuja sie w odpowiednie pola rekordu.

Tablica odpada bo pola sa roznych typow.

Moge je czytac po jednej ale tak by bylo szybciej, jest cos takiego w javie ?

0

W 1.4 jest cos takiego jak ScatteringByteChannel, pozwalające na wczytanie danych do iluś tam byte-buforów. Może to będzie pomocne.

pzdr,
y.

0

:D Java to NIE JEST coś podobnego do C

serializacja

wysłanie:

ObjectOutputStream objOut = new ObjectOutputStream(socket.getOutputStream()); 

objOut.writeObject(p); 

odbiór:

ObjectInputstream  objIn  = new ObjectInputStream(socket.getInputStream()); 

klasa = (Klasa) objIn.readObject();

RTFM, google

0

Hmmm... tak z ciekawości, jak za pomocą tego odebrac pakiet np.

struct gg_login60 {
	int uin;              /* mój numerek */
        int hash;             /* hash hasła */
        int status;           /* status na dzień dobry */
        int version;          /* moja wersja klienta */
        char unknown1;        /* 0x00 */
        int local_ip;         /* mój adres ip */
	short local_port;     /* port, na którym słucham */
        int external_ip;      /* zewnętrzny adres ip */
        short external_port;  /* zewnętrzny port */
	char image_size;      /* maksymalny rozmiar grafiki w KB */
        char unknown2;        /* 0xbe */
	char description[];   /* opis, nie musi wystąpić */
	int time;             /* czas, nie musi wystąpić */
};
0
marcinEc napisał(a)

:D Java to NIE JEST coś podobnego do C

serializacja

wysłanie:

ObjectOutputStream objOut = new ObjectOutputStream(socket.getOutputStream()); 

objOut.writeObject(p); 

odbiór:

ObjectInputstream  objIn  = new ObjectInputStream(socket.getInputStream()); 

klasa = (Klasa) objIn.readObject();

RTFM, google

Nie oto chodzi, fajnie ze mozna zapisac czy wysylac obiekty ale zrobilem test, obiekt mial jedno pole int a zapisalo mi do pliku 26 bajtow, lacznie z nazwa klasy tego obiektu...

...fajnie by bylo gdyby bylo cos co zapisuje/odczytuje (w odpowiedniej kolejnosci) tylko zawartosc obiektu pomijajac metody i pola ktore nie sa prymitywami z wylaczniem tablic ktore skladaly by sie z prymitywow...

1 użytkowników online, w tym zalogowanych: 0, gości: 1