JavaIO编程(扫描流)

扫描流的作用:键盘数据输入的实现
Scanner定义在 java.util包中,此类是一个工具类。

构造方法:Scanner(InputStream source)
普通方法:
boolean hasNextXxx() —判断是否有指定类型数据存在
Scanner useDelimiter(String pattern) —设置读取的分隔符
boolean hasNext() —判断是否有数据输入
String next() ----取出输入数据,以String形式返回
数据类型 nextXxx() —取出指定数据类型的数据

利用Scanner类实现键盘的输入:
(先使用 hasNextXxx()进行判断,有数据之后再进行输入。

import java.util.Scanner;

public class TestScanner {
	public static void main(String args[]){
		Scanner scan = new Scanner(System.in);
		System.out.println("请输入内容:");
		if(scan.hasNext()){
			System.out.println("输入内容:" + scan.next());
		}
		scan.close();
	}
}

输入一个数字————double:

import java.util.Scanner;

public class TestScanner2 {
	public static void main(String args[]){
		Scanner scan = new Scanner(System.in);
		System.out.println("请输入成绩:");
		if(scan.hasNextDouble()){
			double score = scan.nextDouble();
			System.out.println("输入内容"+ score);
		}else{
		System.out.println("输入的不是数字,错误!");
		}
		scan.close();
	}
}

读取文件:

import java.io.File;
import java.io.FileInputStream;
import java.util.Scanner;

public class TestScanner4 {
	public static void main(String args[]) throws Exception{
		Scanner scan = new Scanner(new FileInputStream(new File("D:"
				+ File.separator + "AAA.txt")));
		scan.useDelimiter("\n");
		while(scan.hasNext()){
			System.out.println(scan.next());
		}
		scan.close();
	}
}

关于输入与输出的新操作:PrintStream/PrintWriter可以加强对程序输出数据的操作支持,而Scanner/BufferedReader可以加强程序输入数据的操作支持。只要操作的是文本数据(不是二进制数据),输出时都可以使用打印流,输入时都使用扫描流(或字符缓冲区输入流)。

发布了30 篇原创文章 · 获赞 1 · 访问量 1905

猜你喜欢

转载自blog.csdn.net/Zzh1110/article/details/103110601