扫描流
- 从 JDK 1.5 后,Java 专门提供了输入数据类 Scanner,该类可以完成数据的输入,也可以方便地验证输入的数据;
- 由于在 Scanner 类中有一个可以接收 InputStream 类的构造方法,所以只要是字节输入流的子类,都可以通过 Scanner 类方便地读取;
- java.util.Scanner,详见:Class Scanner;
1. 输入各类数据
- 可以使用 Scanner 类实现基本的数据输入,其中最简单的办法就是直接使用 Scanner 类的 next() 方法来实现数据的输入;
- 输入数据:
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.println("请输入数据:");
String str = scan.next();
System.out.println("您输入的数据是:" + str);
}
}
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int i = 0;
float f = 0.0f;
System.out.print("请输入整数:");
if (scan.hasNextInt()) {
i = scan.nextInt();
System.out.println("您输入的整数数据为:" + i);
} else {
System.out.println("您输入的不是整数!");
}
System.out.println("请输入小数:");
if (scan.hasNextFloat()) {
f = scan.nextFloat();
System.out.println("您输入的小数为:" + f);
} else {
System.out.println("您输入的不是小数!");
}
scan.close();
}
}
2. 读取文件内容
import java.io.File;
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
Scanner scan = null;
File f = new File("C:" + File.separator + "Users\\80626\\Desktop\\1.txt");
try {
scan = new Scanner(f);
} catch (Exception e) {
}
StringBuffer str = new StringBuffer();
while (scan.hasNext()) {
str.append(scan.next()).append("\n");
}
System.out.println("文件内容为:\n" + str);
}
}