package com.test.Log4j;
import java.io.BufferedReader;
import java.io.Console;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Scanner;
import javax.swing.JOptionPane;
import junit.framework.TestCase;
public class InputTest extends TestCase {
/**
* 利用字节输入类
*/
public void testByteReader(){
String s = "";
System.out.println("ByteReader方式输入");
byte[] readIn = new byte[50];
int count = 0;
try{
System.out.println("you input:");
count = System.in.read(readIn);
}catch(Exception e){
e.printStackTrace();
}
System.out.println(new String(readIn, 0, count));
}
/**
* 利用字符输入流
*/
public void testBufferedReader(){
String s = "";
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.println("BufferReader方式输入");
try {
s = br.readLine();
} catch (IOException e) {
e.printStackTrace();
}
System.out.println(s);
}
/**
* 扫描器类(Scanner)从控制台中读取字符串
*/
public void testScanner(){
String s = "";
Scanner sc = new Scanner(System.in);
System.out.println("Scanner方式输入");
s = sc.next();
System.out.println(s);
}
/**
* 对话框输入数据
*/
public void testJOptionPane(){
System.out.println("JOptionPane方式输入");
String name = JOptionPane.showInputDialog("what is your name?");
System.out.println(name);
}
public void testConsole(){
/** jdk1.6新功能
* Java要与Console进行交互,不总是能得到可用的Java
* Console类的。一个JVM是否有可用的Console,依赖于底层平台和JVM如何被调用
* 。如果JVM是在交互式命令行(比如Windows的cmd
* )中启动的,并且输入输出没有重定向到另外的地方,那么就我们可以得到一个可用的Console实例。
* 当你有Eclipse或NetBean中运行以上代码时Console中将会有以下文字输出: Console is unavailable.
*
* 表示Java程序无法获得Console实例,是因为JVM不是在命令行中被调用的,或者输入输出被重定向了。
*/
Console console=System.console();
if (console == null) {
throw new IllegalStateException("不能使用控制台");
}
String s= console.readLine("输入你的参数");
System.out.println(s);
}
public static void main(String[] args){
/**
* 主函数参数输入
*/
System.out.println(args[0]);
}
}
Console输入扔在测试中