注:本文转载自coder-pig
原文链接:http://blog.csdn.net/coder_pig/article/details/45288573
好久没来水了,原谅我年少无知不会改BUG~~~~~~静下心来,用心发现BUG,改它,改好它。。。。。。
本节引言:
好了,上一节中我们给大家介绍了File与RandomAccessFile类的用法,本节我们还是讲一些
常用的东西,如果学过C++或者C的朋友都知道,获取键盘的输入都很简单,scanf( )和cin就可以
获得我们从控制台输入的参数了,或者说捕获键盘的输入吧~而在Java中呢?貌似我们用
的最多的是:syso吧,但这是打印输出的..好吧,本节就先来讲解几种控制台输入参数或数据
的方法,接着呢,再给大家介绍Java IO流体系图,让大家对Java中IO所用到的流有个基本的了解
废话不多说,开始本节内容~
就是说,使用下述方法虽然可以获取到键盘的输入,但是只获取一个字符!!!
如果你想获取的是一个汉字,就算了吧,另外要对异常进行捕获哦...
代码如下:
对于输入的是一条字符串的话,就需要涉及到:
BufferedReader类和InputStreamReader这两个字节流了
代码也很简单:
JDK 1.5推出的一个新特性,美其名曰:简化扫描,该类提供了很多的方法,但是该类最实用
的方法还是获取控制台输入,所以这里只讲获取控制台输入...
Scanner提供的几个常用方法:
next( ):获得一个字符串;
nextInt():将取得的字符串转换成int类型的整数;
nextFloat():将取得的字符串转换成float型;
nextBoolean():将取得的字符串转换成boolean型;
nextLine():读取该行剩余的所有的内容,包括换行符,然后把焦点移动到下一行的开头
PS:当我们按下:空格符,包括空格键,Tab键和Enter键随便一个键,就算结束了输入过程,
另外要注意区分nextLine( )与其他方法的区别哦~
示例代码:
我们都知道main( )方法有一个参数:String[] args,我们可以通过在命令
行输入参数,然后直接在主程序中args[i]来访问:
示例代码:
(文绉绉的专业(ZB)解析):数据流是一串连续不断的数据的集合,就象水管里的水流,
在水管的一端一点一点地供水,而在水管的另一端看到的是一股连续不断的水流。数据写入程序可以是一段,
一段地向数据流管道中写入数据,这些数据段会按先后顺序形成一个长的数据流。
简单理解:
比如你的电脑,想打开一个PDF的文件,而你的文件是存储在计算机硬盘上的,打开就是需要对文件进行解码,
然后把内容显示到PDF阅读器上,这里就是硬盘的数据->以流的形式传递到->内存的一个过程,这里就涉及到了IO流!
这样也验证了流的两个特性:源端和目的端(发送流,接收流);有方向!
根据流的方向又可以分为:输出流与输入流!
输出流:一般是从计算机流向外设的数据流
输出流:一般是从外设流入计算机的数据流
如果还不理解这个概念的话,举个形象的例子吧:
流是有方向的,如果自来水厂把生活污水从自来水管排到你家...
上面我们按流方向把流分成了输入流与输出流!
接下来我们按传输的数据单位进行分类:字节流与字符流!
对应的基类(父类)是:InputStream,OutputStream和Reader,Writer
还衍生了很多超类(子类):辅助流,缓冲流,过滤流等,下面就来看下他们的体系结构图:
ps:其实大部分输入流与输出流都是一一配对的,看图就知道了~
最后说两句:
Java IO中为我们提供的流操作有关的类与接口都已经罗列出来了,看上去很多,我们并不需要全部掌握,
知道有这东西就可以了,用到的时候再查文档或者Google就可以了~
好了,关于本节获得键盘输入与IO流体系结构图,就讲解到这里,下一节我们学习的是:
字节流InputStream与OutputStream类与其子类的用法~敬请期待