• 4 odgovora
  • 4.063 pregleda
byte[] to int 11.05.2003. u 18:50 · pre 285 meseci #1
Kako da konvertujem niz byte-ova u integer?

Situacija je sledeca:


// podatak u fajlu je integer... recimo 20
FileInputStream infile = new FileInputStream("default.osm");

// integer je 4-bitni
byte[] byteBuffer = new byte[4];
int i;


// ovde dobijam niz u koji je ucitan integer iz fajla
i = infile.read(byteBuffer);
Potpis
avmusa
Re: byte[] to int 12.05.2003. u 01:07 · pre 285 meseci #2
Kanda ćeš morati da se igraš sa bit šiftingom :) A ako koristiš Java 1.4.* onda pogledaj paket
java.nio.* mislim da ćeš tamo naći to što tražiš.
Re: byte[] to int 12.05.2003. u 03:04 · pre 285 meseci #3
Hvala za savet... Pokusao sam ali mi nije bas poslo za rukom... tj. nije radilo kako bi trebalo...

Kad sam vec tu, da pitam...

Kako da ucitam podatke iz tekstualnog fajla, pa da ih dalje koristim za applet?
Pukusao sam sa DataInputStream i DataOutputStream i to je ok, ali ne mogu da iskoristim ucitane podatke u appletu...

A potrebno mi je recimo da iz fajla ucitam prvo jedan int, pa zatim n linija po n karaktera, pa jos neke stringove... (sve to za popunjavanje nekih pomocnih klasa)

PLEASE HELP
Potpis
avmusa
Re: byte[] to int 12.05.2003. u 09:56 · pre 285 meseci #4
Appleti ne mogu da čitaju/pišu po fajlovima :)
Re: byte[] to int 12.05.2003. u 16:10 · pre 285 meseci #5
Za citanje podataka iz tektualnih fajlova moras da koristis Tokenizer. To bi otprilike islo ovako (pisem napamet, verovatno ce biti par gresaka).

Code:

        StreamTokenizer st = new StreamTokenizer(new FileReader("imefajla.txt"));
        while (st.nextToken() != st.TT_EOF) {
// ovde sa st.nval imas numericku vrednost tokena, a sa sval imas string.
            double broj = st.nval;
            String p = st.sval;
        }
 

Sama klasa StreamTokenizer je vrlo fleksiblina, tako da mozes da definises sta ti odvaja tokene (recimo zarezi), da definises sta je whitespace, moze da ti preskace komentare i slicno. Ali je za vecinu potreba default podesavanje sasvim ok (preskacu se spejs, tab, znak za kraj linije)
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme