Java中BufferedReader类获取输入输入字符串实例
使用scanner来取得使用者的输入很方便,但是它以空白来区隔每一个输入字符串,在某些时候并不适用,因为使用者可能输入一个字符串,中间会包括空白字元,而您希望取得完整的字符串。
您可以使用bufferedreader类别,它是java.io包中所提供的一个类,所以使用这个类时必须先import java.io包;使用bufferedreader对象的readline()
方法必须处理ioexception异常(exception),异常处理机制是java提供给程序设计人员捕捉程序中可能发生的错误所提供的机制,现阶段您处理ioexception的方法是在main()
方法后,加上 throws ioexception,这在以后会再详细讨论为何要这么作。
bufferedreader在建构时接受一个reader对象,在读取标准输入串流时,会使用inputstreamreader,它继承了 reader类,您使用以下的方法来为标准输入串流建立缓冲区对象:
bufferedreader buf = new bufferedreader( new inputstreamreader(system.in));
"new"关键字表示您要建构一个对象为您所用,bufferedreader buf表示声明一个类型为bufferedreader的对象变量,而new bufferedreader()
表示以bufferedreader类建构一个对象,newinputstreamreader(system.in)
表示接受一个system.in
对象来建构一个inputstreamreader对象。
您可以在学过对象导向观念之后再来看这段,现阶段若您比较难理解,就记得上面的缓冲区读取对象建立方式,通常要使用bufferedreader来取得使用者的输入都是这么写的。
下面这个程序可以在文字模式下取得使用者输入(可包括空白字节输入),并重新显示在主控台中:
- getinput.java
import java.io.*; public class getinput { public static void main(string[]args) throws ioexception { bufferedreader buf = newbufferedreader( newinputstreamreader(system.in)); system.out.print("请输入一列文字: "); string text = buf.readline(); system.out.println("您输入的文字: " + text); } }
readline()方法会传回使用者在按下enter键之前的所有字节输入,不包括最后按下的 enter返回字节,程序的执行范例如下所示:
请输入一列文字: this is a test!
您输入的文字: this is a test!
总结
以上就是本文关于java中bufferedreader类获取输入输入字符串实例的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!
推荐阅读
-
java从输入流中获取数据并返回字节数组示例
-
Java中BufferedReader类获取输入输入字符串实例
-
java根据输入值实例化枚举类enum-switch
-
java从输入流中获取数据并返回字节数组示例
-
Java中BufferedReader类获取输入输入字符串实例
-
写一个程序统计输入字符串中以“,”分隔的各种单词出现的次数。例如:输入的字符串为“java,java,j2ee,ibm,j2ee,ibm,j2me,jav...
-
时间工具类DataUtils.java,通过输入开始时间和截至时间,获取之间的日期
-
Java中字符串数组的输入与输出
-
利用反射获取Java类中的静态变量名及变量值的简单实例
-
java中统计输入字符串中每个字符出现的次数