Maison Java Javacommencer Quelle est la différence entre les flux Java

Quelle est la différence entre les flux Java

Nov 14, 2019 am 09:36 AM
java la différence couler

Quelle est la différence entre les flux Java

Toutes les données du programme sont transmises ou enregistrées sous forme de flux. Lorsque le programme a besoin de données, il doit utiliser le flux d'entrée pour lire les données, et lorsque le programme en a besoin. data Lors de la sauvegarde, elle s'effectue à l'aide du flux de sortie.

Les entrées et sorties du programme sont enregistrées sous forme de flux, et ce qui est enregistré dans les flux sont en fait des fichiers d'octets.

Flux d'octets et flux de caractères

Il existe deux catégories principales de contenu de fichier d'exploitation dans le package java.io : le flux d'octets et le flux de caractères, tous deux divisés en opérations d’entrée et de sortie. La sortie des données dans un flux d'octets se fait principalement à l'aide de OutputStream, et la saisie se fait à l'aide d'InputStream. La sortie dans un flux de caractères se fait principalement à l'aide de la classe Writer et les flux d'entrée sont principalement effectués à l'aide de la classe Reader. (Ces quatre sont des classes abstraites)

Java fournit un package dédié aux fonctions d'entrée et de sortie, Java.io, comprenant :

InputStream, OutputStream, Reader, Writer

InputStream et OutputStream, tous deux sont conçus pour les flux d'octets et sont principalement utilisés pour traiter des octets ou des objets binaires.

Reader et Writer sont conçus pour les flux de caractères (un caractère occupe deux octets) et sont principalement utilisés pour traiter des caractères ou des chaînes.

L'unité de traitement du flux de caractères est un caractère Unicode de 2 octets, fonctionnant respectivement sur des caractères, des tableaux de caractères ou des chaînes, tandis que l'unité de traitement du flux d'octets est de 1 octet, fonctionnant sur des octets et des tableaux d'octets. Par conséquent, le flux de caractères est formé par la machine virtuelle Java convertissant les octets en caractères Unicode de 2 octets, ce qui lui permet de mieux prendre en charge plusieurs langues ! S'il s'agit de fichiers audio, d'images et de chansons, il est préférable d'utiliser des flux d'octets. S'il est lié au chinois (texte), il est préférable d'utiliser des flux de caractères.

Tous les fichiers sont stockés en octets. Ce qui est retenu sur le disque, ce ne sont pas les caractères du fichier mais les caractères sont d'abord codés en octets puis ces octets sont stockés sur le disque. Lors de la lecture d'un fichier (notamment d'un fichier texte), celui-ci est également lu octet par octet pour former une séquence d'octets.

Le flux d'octets peut être utilisé pour tout type d'objet, y compris les objets binaires, tandis que le flux de caractères ne peut traiter que des caractères ou des chaînes ; 2. Le flux d'octets fournit la fonction de traiter tout type d'opération d'E/S, mais il ne peut pas les gérer. Les caractères Unicode directement et les flux de caractères font exactement cela.

Le flux d'octets est le plus basique, toutes les sous-classes d'InputStrem et OutputStream le sont, principalement utilisées pour traiter des données binaires, elles sont traitées par octets, mais en réalité beaucoup de données sont du texte, et le concept de flux de caractères est proposé, qui est traité en fonction du codage de la machine virtuelle, c'est-à-dire que le jeu de caractères est converti. Les deux sont liés via InputStreamReader et OutputStreamWriter. En fait, ils sont liés via les problèmes de caractères chinois byte[] et String. qui surviennent au cours du développement sont en réalité causés par l'incohérence dans la conversion entre les flux de caractères et les flux d'octets.

Le type de retour de la méthode read() de la classe Reader est int : le caractère lu sous forme d'entier (représentant 16 bits sur deux octets), allant de 0 à 65535 (0x00-0xffff), si Lorsque la fin du flux est atteinte, -1 est renvoyé.

Bien que read() de inputStream renvoie également un int, puisque cette classe est orientée vers les flux d'octets et qu'un octet occupe 8 bits, elle renvoie une valeur d'octet int comprise entre 0 et 255. Si aucun octet n'est disponible car la fin du flux a été atteinte, la valeur -1 est renvoyée. Par conséquent, les valeurs qui ne peuvent pas être représentées par 0-255 doivent être lues à l'aide d'un flux de caractères ! Par exemple, les caractères chinois.

Site Web php chinois, un grand nombre de Tutoriels d'introduction à Java gratuits, bienvenue pour apprendre en ligne !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Porce de variable PHP expliquée
1 Il y a quelques mois By 百草
Commentant le code en php
1 Il y a quelques mois By 百草
<🎜>: Grow A Garden - Guide complet des marchands itinérants
4 Il y a quelques semaines By Jack chen
Conseils pour écrire des commentaires PHP
1 Il y a quelques mois By 百草

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Tutoriel PHP
1511
276
Comment faire des dizaines de millions avec 5 000 yuans dans le cercle des devises? Partagez des informations pratiques! Comment faire des dizaines de millions avec 5 000 yuans dans le cercle des devises? Partagez des informations pratiques! Aug 12, 2025 pm 07:21 PM

Dans un domaine plein d'opportunités et de risques, l'augmentation du principal de 5 000 à des dizaines de millions signifie que près de deux mille fois de rendements incroyables sont nécessaires. Ce n'est pas un chemin commun. Il combine une sensibilisation profonde sur le marché, une exécution précise de la stratégie, un contrôle des risques strict et des éléments de chance indispensables. Le contenu suivant n'est pas des conseils d'investissement, mais un examen de certaines stratégies et méthodes à haut risque discutées sur le marché.

2025 BTC Prix Prévisions: la possibilité de franchir la barre de 200 000 $ 2025 BTC Prix Prévisions: la possibilité de franchir la barre de 200 000 $ Aug 12, 2025 pm 05:21 PM

Catalogue Pourquoi le signal technique clé de la tendance actuelle des prix de la BTC de 118 000 $ est-il une barrière psychologique importante? Quels mystères le marché des dérivés révèle-t-il? Combien de temps durera les trois principaux facteurs de soutien pour l'objectif de 200 000 $? L'effet de moitié est-il vraiment efficace? Comment la macro-économie affecte-t-elle les prix du BTC? Les prédictions des institutions professionnelles sur les prix de la BTC sont différentes. Est-il encore temps d'entrer BTC? Quelle est la base des prévisions de 200 000 $? Quels sont les plus grands facteurs de risque? Alors que Bitcoin franchit la barre des 118 000 $ en août 2025, l'objectif du marché se tourne vers la phase historique de 200 000 $. L'équipe d'analyse a combiné les indicateurs MACD, les données sur la chaîne et le sentiment du marché pour la vérification croisée, et a constaté qu'un certain nombre de signaux techniques indiquent les tendances du marché haussier.

Qu'est-ce que le trading à court terme des crypto-monnaies? Un guide complet des commerçants de crypto-monnaie Qu'est-ce que le trading à court terme des crypto-monnaies? Un guide complet des commerçants de crypto-monnaie Aug 12, 2025 pm 05:39 PM

Table des matières Qu'est-ce que le trading à court terme de la crypto-monnaie? The origin of short-term trading terms The difference between short-term trading and other strategies The advantages of cryptocurrency short-term trading and challenges the role of short-term trading indicators The importance of short-term trading indicators The importance of choosing the right indicator The top short-term trading indicators of cryptocurrency traders How to use the moving average: Relative strength indicator (RSI) Bollinger Bands Moving Average Convergence Divergence Indicateur (MACD) Moyenne pondérée en fonction du volume (VWAP) Implémentez les combinaisons d'indicateurs à court terme dans le trading des crypto-monnaies multiples indicateurs Paramètres de la gestion du risque de cycle de temps dans les erreurs courantes de négociation à court terme qui doivent être évitées lorsque vous utilisez les indicateurs à court terme: utilisez des indicateurs à court terme pour améliorer vos échanges fréquemment posés des questions fréquemment posées Quelle est la meilleure conclusion des indicateurs à court terme? Quel est le meilleur point 1

Qu'est-ce que EcoCoin (EOS)? Analyse du marché EOS et prévisions de prix 2025-2030 Qu'est-ce que EcoCoin (EOS)? Analyse du marché EOS et prévisions de prix 2025-2030 Aug 14, 2025 pm 12:03 PM

Table des matières Qu'est-ce que l'EOS? Projet Background Project Catégorie 1. Infrastructure Smart Contrat Layer-1 2. Écosystème 3. ECOSYSTÈME ECOSYSTÈME DE L'ÉCOSYSTÈME DE TEMPS LA PRÉPENCE DE PRÉPENCE DE PARCE (DPO La plupart des plates-formes de blockchain technologiquement avancées, visant à résoudre l'évolutivité confrontée aux réseaux traditionnels comme Ethereum

Qui est Bill Williams et pourquoi ses mesures sont-elles importantes? Quels sont les principaux indicateurs de trading pour Bill Williams? Qui est Bill Williams et pourquoi ses mesures sont-elles importantes? Quels sont les principaux indicateurs de trading pour Bill Williams? Aug 12, 2025 pm 04:33 PM

Table des matières qui est Bill Williams, pourquoi ses indicateurs sont des indicateurs de crocodile importants: Identification d'identification des tendances simplifiée Indicateurs de crocodile Mesurer les fractales du marché du marché: Identification de l'indice de promotion du marché Trimpor Outils et concepts. Il s'engage à intégrer la psychologie humaine au comportement du marché et à développer un système d'indicateurs qui aide les traders à comprendre les fluctuations des prix plus profondément. Williams croit fermement qu'en dépit du marché apparemment désordonné, il existe des modèles qui peuvent y être identifiés, et les commerçants peuvent prendre des décisions plus intelligentes. Il a conçu un ensemble unique de compétences

Quels sont les canaux d'émission de monnaie virtuelle_summary de la monnaie virtuelle traditionnelle émettant des canaux dans le monde Quels sont les canaux d'émission de monnaie virtuelle_summary de la monnaie virtuelle traditionnelle émettant des canaux dans le monde Aug 14, 2025 am 11:54 AM

Cet article régle systématiquement le modèle mondial d'émission de devises virtuels traditionnels, y compris sept méthodes: ICO, IEO, IDO, POW, POS, AirDrop et STO, et introduit respectivement son mécanisme de fonctionnement, ses caractéristiques et ses risques. 1. L'émission de jetons initiale (ICO) est un moyen pour la partie du projet de collecter des fonds en publiant un livre blanc à vendre au public. Le seuil est faible mais le risque est élevé. 2. L'émission d'échange initiale (IEO) est examinée et émise par l'échange pour améliorer la sécurité et la crédibilité. 3. La première émission d'échange décentralisée (IDO) est menée sur une plate-forme décentralisée, mettant l'accent sur le démarrage équitable et la participation de la communauté, avec une transparence élevée mais à vos propres risques; 4. La preuve de travail (POW) génère de nouveaux blocs grâce à la compétition de calcul de la compétition et des jetons de récompense pour assurer la sécurité et la décentralisation du réseau; 5. Preuve de capitaux propres

The Best Ides for Java Development: une revue comparative The Best Ides for Java Development: une revue comparative Aug 12, 2025 pm 02:55 PM

Thebestjavaidein2024Denpendyourndeds: 1.chooseintellijideaforprofessional, l'entreprise, le development orfulldevelopmentduetoitsSuperiorCodeIntelligence, le framewory

Comment utiliser l'API HTTPClient en Java Comment utiliser l'API HTTPClient en Java Aug 12, 2025 pm 02:27 PM

Le cœur de l'utilisation du javahttpclientapi est de créer un httpclient, de créer un httprequest et de traiter httpResponse. 1. Utilisez httpclient.newhttpclient () ou httpclient.newbuilder () pour configurer les délais d'expiration, proxy, etc. pour créer des clients; 2. Utilisez httpRequest.newBuilder () pour définir URI, méthode, en-tête et corps pour construire des demandes; 3. Envoyez des demandes synchrones via client.send () ou envoyez des demandes asynchrones via client.sendaSync (); 4. Utilisez des handleurs.

See all articles