Java学习提要——Scanner基础应用
来源:互联网 发布:qq游戏 for mac 编辑:程序博客网 时间:2024/06/05 23:43
BufferedReader可以解决大文本数据的读取操作
但是BufferedReader有两个问题:1.读取数据的时候只可以按照字符串返回:public String readLine() throws IOException;
2.所有的分隔符都是固定的。
1.Scanner的基本应用
java.util.Scanner类
//构造方法:public Scanner(InputStream source)Scanner类里面定义了以下两大组方法://1.判断是否有指定数据,Xxx代表不同类型:public boolean hasNextXxx();//2.取出数据,Xxx代表不同类型:public 数据类型 nextXxx();
//以键盘输入为例:import java.util.Scanner;public class Nice { public static void main(String[] args) throws Exception{ Scanner scan = new Scanner(System.in); //准备接收输入数据 System.out.print("请输入内容:"); if (scan.hasNext()) { //现在有输入数据 System.out.println("输入内容:" + scan.next()); } scan.close(); }}//需要注意的是,如果输入的是字符串,是否存在hasNext()就没那么重要(可以不写)//但是如果是其他类型,那么hasNextXxx()就有意义了//在上面基础上改写,hasNextXxx()if (scan.hasNextDouble()) { //表述输入的是一个小数 double score = scan.nextDouble(); //省略了转型 System.out.println("输入内容:" + score);} else { //表示输入的不是一个小数 System.out.println("输入的不是数字,错误");}
//使用正则验证import java.util.Scanner;public class Nice { 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 bir = scan.next("\\d{4}-\\d{2}-\\d{2}"); System.out.println("输入内容:" + bir); } else { System.out.println("输入的生日格式错误"); } scan.close(); }}
2.分隔符问题
在Scanner类的构造里面由于接收的类型是InputStream,
所以此时依然可以设置一个文件的数据流,
但是在进行文件读取的时候,我们要考虑分割符问题设置分隔符
public Scanner useDelimiter(String pattern)
import java.io.File;import java.io.FileInputStream;import java.util.Scanner;public class Nice { public static void main(String[] args) throws Exception{ Scanner scan = new Scanner(new FileInputStream(new File("E:"+File.separator+"test.txt"))); scan.useDelimiter("\n"); //设置读取的分隔符 while (scan.hasNext()) { System.out.println(scan.next()); } scan.close(); }}
0 0
- Java学习提要——Scanner基础应用
- Java学习提要——'接口'的基础示例
- Java学习提要——StringBuffer类基础
- Java学习提要——Runtime类基础
- Java学习提要——打印流基础
- Java学习提要——字符串连接
- Java学习提要——方法引用
- Java学习提要——接口进阶
- Java学习提要——Callable接口
- Java学习提要——Comparable接口
- Java学习提要——Class类基础与动态加载类
- Java学习提要——'Thread类'与'Runnable接口'基础
- Java学习提要——String的基本方法
- Java学习提要——对象多态性概念
- Java学习提要——抽象类的使用限制
- Java学习提要——浅谈Object类
- Java学习提要——包装类与数据类型转换
- Java学习提要——异常的基本概念
- 配置策略 一 系统环境变量自动配置脚本
- 侧滑菜单(Fragment)
- mysql的左连接、右连接和内连接
- C语言笔试题总结
- leetcode 198: House Robber
- Java学习提要——Scanner基础应用
- 字符串函数strcat
- 内存映射文件(MMAP)
- 不借助第三个变量,交换两个变量值的3种方式
- **View Angle
- 网站分析(五)
- python微信机器人
- BZOJ 2456: mode 题解 好小的空间
- 顺序线性表的基本知识总结