Cet article vous apporte des connaissances pertinentes sur java. Il présente principalement les problèmes liés aux opérations d'E/S, y compris les flux d'octets et les flux de caractères. J'espère qu'il sera utile à tout le monde.
Étude recommandée : "Tutoriel vidéo Java"
Avant-propos : Ce chapitre présente en détail l'utilisation de base du flux d'octets et du flux de caractères, avec des illustrations entrecoupées d'implémentation de code.
java.io.InputStream flux d'entrée, principalement utilisé pour lire le contenu des fichiers.
Java.io.OutputStream flux de sortie, principalement utilisé pour écrire des octets de contenu dans des fichiers.
Ce flux est utilisé pour lire les données d'un fichier, et son objet peut être créé avec le mot-clé new.
Il existe différentes méthodes de constructeur utilisées pour créer des objets.
Vous pouvez utiliser un nom de fichier de type chaîne pour créer un objet de flux d'entrée pour lire le fichier
InputStream f = new FileInputStream("D:/hello");
Vous pouvez également utiliser un objet fichier pour créer un objet de flux d'entrée pour lire le fichier. Nous devons d'abord utiliser la méthode File() pour créer un objet fichier :
File f = new File("D:/hello");InputStream in = new FileInputStream(f);
Cette classe est utilisée pour créer un fichier et écrire des données dans le fichier.
Si le fichier cible n'existe pas avant que le flux n'ouvre le fichier pour la sortie, alors le flux créera le fichier.
Deux constructeurs peuvent être utilisés pour créer des objets FileOutputStream.
Utilisez un nom de fichier de type chaîne pour créer un objet de flux de sortie :
OutputStream f = new FileOutputStream("D:/hello");
Vous pouvez également utiliser un objet fichier pour créer un flux de sortie afin d'écrire des fichiers. Nous devons d'abord utiliser la méthode File() pour créer un objet fichier :
File f = new File("D:/hello");OutputStream fOut = new FileOutputStream(f);
Lisez le contenu du fichier D:/hello.txt puis saisissez-le dans le fichier D:/test.
public class Mk { public static void main(String[] args) throws IOException { File file=new File("D://hello.txt"); File file1= new File("D://test.txt"); InputStream is=new FileInputStream(file); OutputStream out=new FileOutputStream(file1); //定义byte数组用来暂存数据 byte[] buf = new byte[1024]; //读取Is中的内容存到buf is.read(buf); //将buf中的内容写入out out.write(buf); is.close(); out.close(); } }
Exemple d'écriture de fichier
public class A { public static void main(String[] args) throws IOException { FileWriter fw = new FileWriter("user.txt", true); fw.write("你好中国1"); fw.write("你好中国2"); fw.write("你好中国3"); fw.close(); }}
Exemple de fichier de lecture
J'ai modifié le contenu en nouveau lignes ici
br .ready() sert à déterminer si ce flux de ligne est vide
br.readLine() sert à afficher une ligne, puis à pointer automatiquement le curseur vers la ligne suivante.
public class A { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new FileReader("user.txt")); while (br.ready()) { System.out.println(br.readLine()); } br.close(); }}
L'utilisation du flux d'octets et du flux de caractères est très similaire, donc à part la différence de code d'opération, quelles sont les différences ?
Le flux d'octets lui-même n'utilise pas le tampon (mémoire) lors du fonctionnement, il est directement exploité avec le fichier lui-même, tandis que le flux de caractères utilise le tampon lors du fonctionnement
Le flux d'octets est Lors de l'exploitation d'un fichier, le fichier peut être affiché même si la ressource n'est pas fermée (méthode close). Cependant, si le flux de caractères n'utilise pas la méthode close, aucun contenu ne sera affiché, indiquant que le flux de caractères utilise un tampon et peut être forcé à l'aide de la méthode flush. Actualisez le tampon, puis le contenu peut être affiché sans fermeture. Ainsi, en développement, est-il préférable d'utiliser un flux d'octets ou un flux de caractères ?
Lors de l'enregistrement ou du transfert de fichiers sur tous les disques durs, ils sont effectués en octets, y compris les images, et les caractères ne sont formés qu'en mémoire, les octets sont donc les opérations les plus courantes. Si vous souhaitez qu'un programme Java implémente une fonction de copie, vous devez utiliser un flux d'octets pour le fonctionnement (l'image peut être copiée), et lire et écrire en même temps (pour économiser de la mémoire).
Apprentissage recommandé : "
"
Tutoriel vidéo Java
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!