IO编程常用的打印流(输出到文件)和Scanner输入流(输入到屏幕)

打印流

在java.io包中对于数据的输出操作可以通过OutputStream类或者Writer类完成,但是这两个类具有一些局限性。列如:OutputStream只允许输出字节数据,Writer只允许输出字符数据和字符串数据,而在实际的开发过程中,会有许多种数据的类型需要输出(列如,整数,浮点数,字符,引用对象),因而为了简化操作提供了两个打印操作类:字节打印流(PrintStream)、字符打印流(PrintWriter)。下面一段程序进行简要的说明:

package io编程;
import java.io.File;
import java.io.FileOutputStream;
import java.io.PrintWriter;
public class 打印流 {
	public static void main(String[] args) throws Exception {
		File file=new File("C:\\Users\\ASUS\\Desktop\\java\\未命名\\javadoc\\16.1.txt");
		PrintWriter pu=new PrintWriter(new FileOutputStream(file));
		pu.println("姓名:刘为韩");
		pu.print("年龄:");
		pu.println(21);
		pu.close();
	}
}

Scanner输入流

在JDK1.5之后,Java提供了专门的输入数据类,此类不仅可以完成之前的输入数据操作,也可以方便的对输入数据进行验证。此类存放在java.util包中,常用方法自己查。下面给出两端程序进行简要说明。
1,使用Scanner实现键盘数据的输入

package io编程;
import java.util.Scanner;
public class Scanner输入流 {
	public static void main(String[] args)throws Exception {
		Scanner scan=new Scanner(System.in);
		System.out.println("请输入年龄:");
		if(scan.hasNextInt()) {
			int age=scan.nextInt();
			System.out.println("年龄:"+age);
		}else {
			System.out.println("输入的内容不是数字,请重新输入:");
		}
		scan.close();
	}
}

2,读取文件内容,并且可以使用正则表达式解析文件内容

package io编程;                  //读取文件内容
import java.io.File;
import java.util.Scanner;
public class Scanner输入流{
	public static void main(String[] args)throws Exception {
		Scanner scan= new Scanner(new File("C:\\Users\\ASUS\\Desktop\\java\\未命名\\javadoc"
				+ "\\16.1.txt"));
		scan.useDelimiter("\n");
		while(scan.hasNext()) {
			System.out.print(scan.next());
		}
		scan.close();
	}
}

3,输入日期数据,并使用正则格式判断

package io编程;
import java.text.SimpleDateFormat;
import java.util.Scanner;
public class Scanner输入流{
	public static void main(String[] args)throws Exception {
		Scanner scan=new Scanner(System.in);
		System.out.print("请输入你的生日:");
		if(scan.hasNext("\\d{4}-\\d{2}-\\d{2}")) {
			String str=scan.next("\\d{4}-\\d{2}-\\d{2}");
			System.out.println("输入信息为:"+new SimpleDateFormat("yyyy-mm-dd").parse(str));
		}
		scan.close();
	}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值