Java Input Stream Fra et projekt

May 25

Java Input Stream Fra et projekt


I modsætning til Javas mere specialiserede input objekter, et InputStream objekt kan du arbejde med byte-niveau 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ører Java-projekt i et InputStream objekt, du nødt til at bruge en ramme netværk til at hente data, før det opbevares i InputStream.

InputStream vs netværkssockets

Når du ønsker at få data fra en kørende projekt i en InputStream objekt, skal du først integrere det inden for rammerne af netværkssockets. Et af projekterne fungerer som en server, hvor du gennemføre en ServerSocket objekt, der lytter efter indgående forbindelser på en given maskine portnummer. Det andet projekt, klienten, skaber en sokkel, der vil forbinde til denne port nummer og åbne en stream.

Læsning af data

Når de to projekter oprette en forbindelse, vil de skiftes går gennem en forudbestemt sekvens, hvor et program sender data frem og tilbage gennem soklen. Projektet sende data kan bruge genstande som PrintWriter at sende data via stikkontakten, og det andet projekt anvender en BufferedReader objekt til at modtage data. Du kan gemme disse data du modtager i en InputStream objekt ved instantiere en 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 et problem, når det forsøger at sende eller modtage data, vil det være i stand til at komme sig og vil gå ned. Af denne grund, Java kræver, at du bruger "prøve" og "fangst" udsagn, når du skriver socket operationer.

Lukning Stream

Fra et teknisk synspunkt, er der intet at holde dig fra at forlade en socket-forbindelse til et andet projekt åben for den samlede varighed af dit program. God programmering stil, dog, dikterer, at du lukker socket-forbindelse fra klientsiden med ".close ()" objekt metode, når du er færdig med at overføre dine data. Det frigør ressourcer din klient program er udgifter på at fastholde soklen, og er høflig til den server, der også vier regnekraft til stikket, så længe den er åben.


relaterede artikler