Contrairement objets d'entrée plus spécialisés de Java , un objet InputStream vous permet de travailler avec des données au niveau des octets provenant d'une ressource donnée. Il est , cependant, seulement capable de lire dans un fichier de données statique . Si vous souhaitez utiliser des données provenant d'un autre projet de Java s'exécutant dans un objet InputStream , vous devez utiliser un cadre de réseau pour récupérer les données avant de les stocker dans le InputStream . InputStream vs sockets de réseau Lorsque vous souhaitez obtenir des données à partir d'un projet en cours d'exécution dans un objet InputStream , vous devez d'abord l'intégrer dans un cadre de sockets réseau . L'un des projets agit comme un serveur , dans lequel vous implémentez un objet ServerSocket , qui écoute les connexions entrantes sur un numéro de port de la machine donnée. L'autre projet, le client , crée un socket qui se connecteront à ce numéro de port et ouvrir un flux . Lecture des données Une fois que les deux projets établir une connexion, ils se relaieront en passant par une séquence prédéterminée par laquelle un programme envoie des données en arrière à travers le socket . Le projet d'envoyer des données peut utiliser des objets tels que PrintWrite pour envoyer des données à travers le socket, et l'autre projet utilise un objet BufferedReader pour recevoir les données . Vous pouvez stocker que les données que vous recevez dans un objet InputStream par l'instanciation d'un objet InputStreamReader au sein de votre BufferedReader . Erreurs N'importe quel nombre de choses peuvent mal tourner lorsque vous transférez des données entre les projets sur une connexion de socket. Un projet ou de l'autre pourrait soudainement perdre la connectivité réseau ou vous pouvez avoir un bug dans votre code de connexion . Si votre projet se heurte à un problème quand il tente d'envoyer ou recevoir des données , il sera incapable de se redresser et se bloque . Pour cette raison , Java vous oblige à utiliser " essayer " et " attraper " déclarations chaque fois que vous écrivez opérations de socket . Clôture flux D'un point de vue technique , il n'y a rien pour vous empêcher de quitter une connexion socket à un autre projet ouvert pendant toute la durée de votre programme. Un bon style de programmation , cependant, veut que vous fermez la connexion de socket du côté client avec l'extension ". Close () " méthode de l'objet une fois que vous avez terminé de transmettre vos données. Cela libère les ressources de votre programme client consacre à maintenir le support et est courtois au serveur qui consacre également la puissance de traitement à la prise tant qu'il est ouvert . < Br >
|