DataOutputStream

Oglądasz archiwalną wersję wątku "DataOutputStream" z forum pl.comp.lang.java



Stefan Batory - 15 Lip 1999, 03:00
    FileReader fr = new FileReader(fileName);
    BufferedReader in = new BufferedReader(fr);
    DataOutputStream out = new
DataOutputStream(socket.getOutputStream())
    int i;
    byte b;

    w uproszczeniu (bez sprawdzania wyjatkow itp)

     while (!eof) {
         b = (byte) in.read();
         ....
         out.write(b);
     }

plik, ktory czytam i wysylam ma ponad 50kB ale laczac sie telnetem z ww
serwerem dostaje niecale 50kB i to za kazdym razem inny wynik !
Probowalem zrobic out.flush po zakonczeniu ale nie pomaga ;(

Czy ktos wie o co chodzi ? Czy ktos ma moze kawalek kodu serwera, ktory
"serwuje" pliki binarne ? Gdzie mozna cos takiego znalezc ?

--Stefan




Robert Matyja - 16 Lip 1999, 03:00

   FileReader fr = new FileReader(fileName);
   BufferedReader in = new BufferedReader(fr);
   DataOutputStream out = new
DataOutputStream(socket.getOutputStream())
   int i;
   byte b;

   w uproszczeniu (bez sprawdzania wyjatkow itp)

    while (!eof) {
        b = (byte) in.read();
        ....
        out.write(b);
    }

plik, ktory czytam i wysylam ma ponad 50kB ale laczac sie telnetem z ww
serwerem dostaje niecale 50kB i to za kazdym razem inny wynik !
Probowalem zrobic out.flush po zakonczeniu ale nie pomaga ;(

Czy ktos wie o co chodzi ? Czy ktos ma moze kawalek kodu serwera, ktory
"serwuje" pliki binarne ? Gdzie mozna cos takiego znalezc ?



Czesc,

Jesli przesylasz binaria sprobuj uzyc tylko klas typu Data...Stream. Mialem
ten sam problem gdy mieszalem klasy typu Reader/Writer z innymi typu Data...

pozdrawiam
robert



Marek Sz. - 16 Lip 1999, 03:00

    FileReader fr = new FileReader(fileName);
    BufferedReader in = new BufferedReader(fr);



Tych klas sie uzywa tylko do tekstu (i to nie ASCI).

    DataOutputStream out = new
DataOutputStream(socket.getOutputStream())
    int i;
    byte b;

    w uproszczeniu (bez sprawdzania wyjatkow itp)

     while (!eof) {
         b = (byte) in.read();



               ^^^^^^
tu czytasz kilka bajtow (chyba 2, a jesli to jest UTF to czasem wiecej)
(Nawet jawna konwersja jest Ci potrzebna !)

         ....
         out.write(b);



               ^^^^^^
a tu zapisujesz tylko jeden.
Zamiast Reader'ow i Writer'ow wykorzystaj raczej klasy
FileInputStream, FileOutputStream i BufferedInputStream
oraz BufferedOutputStream.

Pozdrawiam
Marek Sz.
IC Vision sp. z o. o.



Stefan Batory - 16 Lip 1999, 03:00

Zamiast Reader'ow i Writer'ow wykorzystaj raczej klasy
FileInputStream, FileOutputStream i BufferedInputStream
oraz BufferedOutputStream.



A czym otworzyc plik, zeby to wsadzic do FileOutputStream ? Bo
FileOutputStream musi dostac jakis InputStream ...

--Stefan




Marek Sz. - 16 Lip 1999, 03:00

A czym otworzyc plik, zeby to wsadzic do FileOutputStream ? Bo
FileOutputStream musi dostac jakis InputStream ...



Nie musi. Nawet nie moze. Oto cytat z dokumentacji.

FileOutputStream(File)
 Creates a file output stream to write to the specified File object.
FileOutputStream(FileDescriptor)
 Creates an output file stream to write to the specified file
 descriptor.
FileOutputStream(String)
 Creates an output file stream to write to the file with the
 specified name.
FileOutputStream(String, boolean)
 Creates an output file with the specified system dependent file name.

Jeszcze jedno: uniwersalna do czytania i pisania do pliku jest klasa

RandomAccessFile(File, String)
 Creates a random access file stream to read from, and optionally to
 write to, the file specified by the File argument.
RandomAccessFile(String, String)
 Creates a random access file stream to read from, and optionally to
 write to, a file with the specified name.


Jak dynamicznie uzupełniać liste ?
JTree - własny TreeNode
Java i MS SQL przez JDBC Problem
proste :-) pytanko...
  • pielegniarki opieka kielce
  • czemu po moim routerze jest getaway a potem
  • kretynskie smsy od roznych reklamodawcow
  • smieszne teksty historie
  • drzewka do kupienia
  • katowice awf fizjoterapia egzaminy
  • java;warcaby
  • tunezyjski aar 1066 1820
  • o symbianie na powaC2 nie czyli
  • Zbieranina wiadomości z for dyskusyjnych || Indeks