当前位置: 代码迷 >> 综合 >> JAVA中IO流 (读取键盘录入的详细讲解)以及InputStreamReader,OutputStreamWriter,setIn,setOut 讲解
  详细解决方案

JAVA中IO流 (读取键盘录入的详细讲解)以及InputStreamReader,OutputStreamWriter,setIn,setOut 讲解

热度:24   发布时间:2023-12-13 18:41:32.0

java中键盘的录入

System.out: 对应的是标准输出设备,控制台
System.in: 对应的标准输入设备:键盘


初级录入

代码

import java.io.*; public class ReadIn {
     public static void main(String[] args)throws IOException{
     InputStream in=System.in;int by=in.read();System.out.println(by);} } 

结果

在这里插入图片描述

这里输出97是因为我们是Int 型


这时,我们多输出几个看看

代码

import java.io.*; public class ReadIn {
     public static void main(String[] args)throws IOException{
     InputStream in=System.in;int by1=in.read();int by2=in.read();int by3=in.read();System.out.println(by1);System.out.println(by2);System.out.println(by3);} } 

结果

在这里插入图片描述

上次我讲到 一个回车就是\r\n 这样子
而这里的13就是\r 10就是\n


上述的录入过于低效率,所以我们进行改进

需求
1.通过键盘录入数据
2.当录入一行数据后,就将该行数据进行打印
3.如果录入的数据是over,那么就停止录入

import java.io.*; public class ReadIn {
     public static void main(String[] args)throws IOException{
     InputStream in=System.in;int ch=0;while((ch=in.read())!=-1){
     System.out.println(ch);}} }

结果

在这里插入图片描述
此程序可以连续键盘写入,但是却不能停下来 ,需要用Ctrl +C 才可以退出


我们再次进行改进,一次性输出

import java.io.*; public class ReadIn {
     public static void main(String[] args)throws IOException{
     InputStream in=System.in;StringBuilder sb=new StringBuilder();while(true){
     int ch=in.read();if(ch=='\r')
  相关解决方案