黑马程序员技术交流社区
标题:
读取从键盘输入 有scanner 和 InputStream 有区别别吗
[打印本页]
作者:
弃车保
时间:
2015-4-16 11:00
标题:
读取从键盘输入 有scanner 和 InputStream 有区别别吗
import java.util.*;
public class Demo {
public static void main(String[] args){
System.out.println("请输入字符");
Scanner sc = new Scanner(System.in);
String s = sc.next();
System.out.println(s);
sc.close();
}
}
复制代码
import java.io.*;
public class Demo2 {
public static void main(String[] args) throws IOException{
System.out.println("请输入字符");
BufferedReader brs = new BufferedReader(new InputStreamReader(System.in));
String s = brs.readLine();
brs.close();
System.out.println(s);
}
}
复制代码
还有其他方法从键盘读数据吗?
作者:
最初的バ梦想
时间:
2015-4-16 11:12
同学你好,这是我对Scanner和InputStream两者的认识,希望可以帮到你。
利用 BufferedReader实现从键盘读入字符串并写进文件a.txt中
import java.io.*;
public class InputTest{
public static void main(String[] args) throws IOException{
BufferedReader buf = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter buf2 = new BufferedWriter(new FileWriter("a.txt"));
String str = buf.readLine();
while(!str.equals("exit")){
buf2.write(str);
buf2.newLine();
str = buf.readLine();
}
buf.close();
buf2.close();
}
}
可以看出用上面的代码和和Scanner功能一样也可以实现从键盘录入数据,并且能够将数据写入文件中。
而Scanner和BufferedReader两者的区别就是
在命令行模式下要输入数据至程序中时,我们可以使用标准输入串对象System.in.但是,我们并不经常直接使用它,因为System.in提供的 read方法每次只能读取一个字节的数据,而我们平时所应用的通常是读取一个字符串或者是一个数字,所以read方法所以提供的功能,对我们来说并没有太大的用处.
在Java SE 6中,可以使用Scanner类取得用户的输入,Scanner类位于java.util包中,如果你要使用Scanner取得用户输入的话,要加上 import java.util.Scanner;这条语句.import的功能是告诉编译器,你将使用java.util包中的Scanner类
如果有不足的地方希望大家能够指出,呵呵:lol
作者:
弃车保
时间:
2015-4-16 11:39
本帖最后由 弃车保 于 2015-4-16 11:46 编辑
用 Scanner实现从键盘读入字符串并写进文件a.txt中
import java.io.*
import java.util.*;
public class InputTest1{
public static void main(String[] args) throws IOException{
Scanner sc = new Scanner(new InputStreamReader(System.in));
// BufferedReader buf = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter buf2 = new BufferedWriter(new FileWriter("d:\\a.txt"));
String str = sc.next();
while(!str.equals("exit")){
buf2.write(str);
buf2.newLine();
str = sc.next();
}
sc.close();
buf2.close();
}
}
复制代码
看着个BufferedReader 和Scanner 好像没有没有不同, 是读取字节与字符的区别吗
作者:
弃车保
时间:
2015-4-16 11:41
本帖最后由 弃车保 于 2015-4-16 11:46 编辑
最初的バ梦想 发表于 2015-4-16 11:12
同学你好,这是我对Scanner和InputStream两者的认识,希望可以帮到你。
利用 BufferedReader实现从键盘读入 ...
上楼用 Scanner实现从键盘读入字符串并写进文件a.txt中
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2