为了执行基于字符的 I/O 操作,Java 提供了自己的基于字符的流层次结构,以及 Reader 和 Writer 等抽象类。这些类允许您直接读写字符,使它们比字节流更适合文本数据。这些类的主要方法处理读取和写入操作,并在发生错误时抛出 IOException。
字符流结构
主要抽象类:
这些类构成了字符流 I/O 操作的最小结构,其方法适用于所有子类。
带有字符流的控制台输入
对于国际化程序或操作文本的程序,最好使用字符流从控制台读取字符。由于System.in是字节流,因此需要针对字符流进行适配。
为此我们使用:
读取控制台输入示例
要使用 BufferedReader 读取控制台输入,我们首先使用 InputStreamReader 将 System.in 转换为字符流:
import java.io.*; public class ConsoleReaderExample { public static void main(String args[]) { try (BufferedReader reader = new BufferedReader(new InputStreamReader(System.in))) { System.out.print("Digite uma linha de texto: "); String linha = reader.readLine(); System.out.println("Você digitou: " linha); } catch(IOException e) { System.out.println("Erro de entrada/saída: " e); } } }
代码说明
字符流的优点
这些字符流使文本处理更加容易,非常适合以字符和文本为主要焦点的数据输入和文件操作。
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3