`

java 控制台输入

阅读更多

想起了以前学c++的时候,能够在那个黑黑的界面上(console)输入些值,然后打印出来,欣喜若狂的。

    今天想了一下,在java,这个怎么实现呢?想了一下,真的不知道,呵呵。

    找了一下,终于找到了,代码如下:

  

[code="java"]   public static void main(String[] args)
{
  System.out.println("Hello World!");
  StringBuffer a;
  BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
  try
  {
  System.out.println("请输入br的值:");
  String aString = br.readLine();
  System.out.println("br的值是:"+aString);
  }
  catch (IOException e)
  {
// TODO Auto-generated catch block
  e.printStackTrace();
  }
 
 

   原来,我一直都还是菜鸟。

 

 这里涉及到了BufferedReader 。

 

在网上找到:

多数实际的java应用不是基于文本的,控制台的应用程序,而是基于图形化的applet,这些applet依赖于与用户交互的AWT类,java程序通过流来完成输入输出,java通过定义在java.io包中的类层次实现流

Java定义了两种类型的流: 字节流与字符流

字节流未处理字节的输入和输出提供了方便的方法,用于诸如读写二进制等数据,字符流为处理字符的输入输出提供的方便的方法: 它们采用Unicode,因而能够国际化

Java的最初版本(java1.0)不包括字符流,在java1.1增加了字符流

 

字节流顶层两个抽象类:InputStreamOutputStream,定义了其他流类实现的关键方法,read()write()

字符流顶层两个抽象类:ReaderWriter,同样两个最重要的方法read()write()

 

java中控制台输入是通过从System.in中读取数据来完成的。可以在BuffererReader对象中包装vSystem.in来创建一个字符流,BufferedReader支持缓冲输入流,常见构造函数

BufferedReaderReader inputReader

InputReader是链接被创建的BufferedReader对象的流。Reader是一个抽象类,具体的一个子类是InputStreamReader。他负责转换字节为字符。若要获得一个与vsystem.in相连的InputStreamReader对象,可使用下面的构造函数

InputStreamReaderInputStream inputStream

因为system.inInputStream类型的对象 所以可以使用inputStream,综上,下面代码创建一个与键盘相连的BufferedReader

BufferedReader br=new BufferedReader(

                            new InputStreamReader(System.in));

 

读取字符

import java.io.*;

public class Read1 {

 

       public static void main(String[] args)throws IOException

       {

              char c;

              BufferedReader br=new BufferedReader(

                            new InputStreamReader(System.in));

              System.out.println("输入‘Q’退出");

              do{

                     c=(char)br.read();

                     System.out.println(c);

              }while(c!='Q');

    }

}

读取字符串

import java.io.*;

public class Read2 {

 

       public static void main(String[] args)throws IOException

       {

              String str;

              BufferedReader br=new BufferedReader(

                            new InputStreamReader(System.in));

              System.out.println("输入’quit’退出");

              do{

                     str=br.readLine();

                     System.out.println(str);

              }while(!str.equals("quit"));

    }

}

运行结果

输入’quit’退出

sjk

sjk

sk

sk

quit

quit

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics