La conversion de flux d'E/S Java convertit un flux en un autre flux pour modifier le format des données. Conversion de flux prédéfinie : BufferedReader, BufferedWriter et d'autres classes sont fournies pour convertir les flux d'octets et les flux de caractères. Conversion de flux personnalisée : écrite à l'aide de l'interface Reader/Writer et de la classe FilterInputStream/FilterOutputStream pour répondre à des besoins spécifiques.
Conversion de flux de flux d'E/S Java
Introduction
La conversion de flux d'E/S Java fait référence à la conversion d'un type de flux en un autre type de flux. Cela est souvent nécessaire pour convertir des données d'un format à un autre. Java fournit une variété de transformations de flux prédéfinies et vous pouvez également écrire des transformations de flux personnalisées à l'aide de convertisseurs spécifiques.
Conversions de flux prédéfinies
Java fournit plusieurs classes de conversion de flux prédéfinies, notamment :
Utiliser des transformations de flux prédéfinies
L'utilisation de transformations de flux prédéfinies est très simple. Créez simplement le flux de transformation en utilisant le constructeur approprié et transmettez le flux d'entrée en tant que paramètre. Par exemple :
// 将字节流转换为字符流 BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); // 将字符流转换为字节流 BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(System.out));
Transformation de flux personnalisée
Parfois, les transformations de flux prédéfinies ne répondent pas à des besoins spécifiques. Dans ce cas, vous pouvez écrire une transformation de flux personnalisée. Pour ce faire, utilisez la classeReader
或Writer
接口和FilterInputStream
或FilterOutputStream
. Par exemple :
// 创建一个自定义流转换,将大写字符转换为小写字符 class LowerCaseOutputStream extends FilterOutputStream { public LowerCaseOutputStream(OutputStream out) { super(out); } @Override public void write(int b) { super.write(Character.toLowerCase((char) b)); } }
Cas pratique
Voici un exemple de lecture d'un fichier texte et de conversion de son contenu en caractères majuscules :
import java.io.*; public class ConvertToUpperCase { public static void main(String[] args) { try { // 创建一个文件输入流 FileInputStream inputStream = new FileInputStream("input.txt"); // 将文件输入流转换为字符流 InputStreamReader inputStreamReader = new InputStreamReader(inputStream); // 将字符流转换为大小写转换流 BufferedReader reader = new BufferedReader(inputStreamReader); // 创建一个文件输出流 FileOutputStream outputStream = new FileOutputStream("output.txt"); // 将文件输出流转换为大小写转换流 OutputStreamWriter outputStreamWriter = new OutputStreamWriter(outputStream); // 将输入流中的字符读入缓冲区,并将其转换为大写 String line; while ((line = reader.readLine()) != null) { outputStreamWriter.write(line.toUpperCase()); } // 关闭流 reader.close(); outputStreamWriter.close(); } catch (IOException e) { e.printStackTrace(); } } }
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!