package 控制台接受輸入; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.nio.Buffer; import java.util.Scanner; public class InputCode { public static void main(String[] args) throws IOException { /* * Scanner類中的方法 * 完美 */ Scanner input =new Scanner(System.in); System.out.println("please input your name "); String name=input.nextLine(); System.out.println(name); /* * 缺點:只能接受用戶輸入的一個字符 */ System.out.println("enter your name"); char name1 = 0; try { //inputstream中的read()方法放回輸入流中下一個字符 name1 = (char) System.in.read(); } catch (IOException e) { e.printStackTrace(); } System.out.println(name1); /* * InputStreamReader和BufferedReader方法 * 優點:可以獲取字符串 * 缺點:獲取的是int或者string人需要強轉 */ //通常,Reader 所作的每個讀取請求都會導致對底層字符或字節流進行相應的讀取請求。因此,建議用 BufferedReader //包裝所有其 read() 操作可能開銷很高的 Reader(如 FileReader 和 InputStreamReader)。例如, //BufferedReader in= new BufferedReader(new FileReader("foo.in")); System.out.println("enter your name"); InputStreamReader input1=new InputStreamReader(System.in); BufferedReader in=new BufferedReader(input1); String name2=in.readLine(); System.out.println(name2); } }
原文:https://www.cnblogs.com/yigenmao/p/6937545.html