modsætning Javas mere specialiserede inputobjekter , lader en InputStream objekt, du arbejder med byte -level data fra en bestemt ressource . Det er imidlertid kun i stand til at læse i en statisk fil af data . Hvis du ønsker at bruge data fra en anden kørende Java-projekt i et InputStream objekt , er du nødt til at bruge et netværk ramme til at hente data , før det opbevares i InputStream . InputStream vs Network fatninger
Når du ønsker at få data fra en kørende projekt i et InputStream objekt , skal du først brug for at integrere det inden for en ramme af netværk sockets . Et af projekterne fungerer som en server , hvor du gennemfører en ServerSocket objekt , der lytter efter indgående forbindelser på en given maskine portnummer. Det andet projekt , klienten , skaber en socket , der vil forbinde til denne port nummer og åbne en stream.
Læse data
Når de to projekter etablere en forbindelse , de vil skiftes går gennem en forudbestemt sekvens , hvor et program sender data frem og tilbage gennem soklen. Projektet sende data kan bruge objekter såsom PrintWriter til at sende data via socket, og det andet projekt bruger en BufferedReader objekt til at modtage data. Du kan gemme disse data , du modtager i et InputStream objekt ved at instantiere et InputStreamReader objekt i din BufferedReader .
Fejl
Enhver række ting kan gå galt når du overfører data mellem projekter over en socket -forbindelse. Et projekt , eller den anden kunne pludselig mister netværksforbindelsen , eller du kunne have en fejl i din tilslutningsmuligheder kode. Hvis dit projekt støder på et problem , når det forsøger at sende eller modtage data , vil det være i stand til at restituere sig og vil gå ned . Af denne grund kræver Java , at du bruger "Prøv " og " fange " udsagn , når du skriver socket operationer.
Lukning Stream
Fra et teknisk synspunkt , er der intet til at holde dig fra at forlade en socket-forbindelse til et andet projekt åbent for hele varigheden af dit program . God programmering stil , men dikterer, at du lukker socket forbindelse fra klientsiden med " . Luk () " objekt metode , når du er færdig sender dine data. Det frigør ressourcer din klient program bruger på at opretholde soklen, og er høflig til den server, også vier regnekraft til stikket , så længe den er åben.
< Br >