Maison  >  Article  >  Java  >  Quelle est la différence entre le flux d'octets et le flux de caractères en Java

Quelle est la différence entre le flux d'octets et le flux de caractères en Java

王林
王林avant
2020-11-25 15:46:472600parcourir

Quelle est la différence entre le flux d'octets et le flux de caractères en Java

L'analyse des différences est la suivante :

(Partage de vidéos d'apprentissage : vidéo d'enseignement Java)

L'octet est l'unité de données de base pour les opérations io Lorsque le programme génère des données d'octet, vous pouvez utiliser la classe OutputStream pour compléter

Une telle opération. définition Comme suit :

public abstract class OutputStream
extends Object
implements Cloneable Flushable{}

implémente deux interfaces parents Closeable Flushable dans la classe OutputStream

Les définitions de ces deux interfaces sont les suivantes

public interface Cloneable
extends AutoCloseable{
	public void close() throws IOException;
}
public interface Flushable{
	public void flush() throws IOException;
}

OutputStream définit une opération de sortie d'octet public , puisqu'elle est définie comme une classe abstraite, vous devez vous appuyer sur des sous-classes pour l'instanciation d'objet. Si vous devez afficher le contenu du fichier via un programme, vous pouvez utiliser la sous-classe FileOutputStream

La fonction de lecture et d'écriture de. le flux de caractères

	/**
	 * 字符流写功能
	 * @throws IOException 
	 */
	public static void demo4() throws IOException {
	Writer writer = new FileWriter("J:/demo2.txt",true);
	writer.write(123);
	writer.write("一二三");
	writer.write(879);
	writer.flush();
	writer.close();
	}
	
	/**
	 * 字符流读功能
	 * @throws IOException 
	 */
	
	public static void demo5() throws IOException {
		Reader reader = new FileReader("J:/demo2.txt");
		System.out.println((char)reader.read());
		System.out.println((char)reader.read());
		
		int a = 0;
		while((a=reader.read()) != -1) {
			System.out.println((char)reader.read());
		}
		
		reader.close();
	}	

Créer un fichier et écrire le contenu

/**
	 * 创建文件并写入内容
	 * 
	 * @throws IOException
	 */
	public static void demo1() throws IOException {
		File file = new File("J:/demo.txt"); // 创建这个文件
		OutputStream os = new FileOutputStream(file, true); // 创建流对象 最后加个true参数代表是续写不是重写,不写true的话下一次运行这个方法就是清空内容并且重写
		os.write(10);// 添加内容
		os.write(302);// 添加内容
		os.write(11);// 添加内容
		os.write("hello world".getBytes()); // 上面是添加数字类型, 这一行代表添加字符
		os.close(); // 关闭流
	}

La plus grande différence entre les deux types de flux d'opérations est que le flux de caractères utilise un tampon (cela est plus adapté aux données chinoises opérations), tandis que le flux d’octets utilise des opérations de traitement de données.

Recommandations associées : Tutoriel d'introduction à 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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer
Article précédent:Quel fichier est jar ?Article suivant:Quel fichier est jar ?