java中Scanner类读取文件或控制台输入
2016-03-07 15:38
447 查看
(1)读取文件中内容
jdk 5.0新增加了Scanner类,Scanner是一个可以使用正则表达式来解析基本类型和字符串的简单文本扫描器,Scanner 使用分隔符模式将其输入分解为标记,默认情况下该分隔符模式与空白匹配(可以使用s.useDelimiter("Pattern || String")指定分隔符)。然后可以使用不同的 next 方法将得到的标记转换为不同类型的值。
new.txt: java ejb jdk j2me spring jdk flex silverlight jdk j2me
j2ee jdk c# asp.net
输出结果: java ejb j2me spring flex silverlight j2me j2ee c#
asp.net
Java代码
import java.io.*;
import java.util.Scanner;
public class ScanXan {
public static void main(String[] args) throws IOException {
Scanner s = null;
try {
s = new Scanner(new BufferedReader(new FileReader("c:\\new.txt")));
//使用字符串jdk作为分隔符
s.useDelimiter("jdk");
while (s.hasNext()) {
System.out.println(s.next());
}
} finally {
if (s != null) {
s.close();
}
}
}
}
(2)读取控制台输入
import java.util.Scanner;
public class ScannerTest
{
public static void main(String[] args)
{
Scanner s = new Scanner(System.in);
//receive string
String str = s.next();
//receive integer
Integer i = s.nextInt();
//receive double
Double d = s.nextDouble();
System.out.println(str+i+d);
}
}
int
x=scanner.nextInt();这表示只接收int类型的数据,如果输入其他的数据要出问题的
jdk 5.0新增加了Scanner类,Scanner是一个可以使用正则表达式来解析基本类型和字符串的简单文本扫描器,Scanner 使用分隔符模式将其输入分解为标记,默认情况下该分隔符模式与空白匹配(可以使用s.useDelimiter("Pattern || String")指定分隔符)。然后可以使用不同的 next 方法将得到的标记转换为不同类型的值。
new.txt: java ejb jdk j2me spring jdk flex silverlight jdk j2me
j2ee jdk c# asp.net
输出结果: java ejb j2me spring flex silverlight j2me j2ee c#
asp.net
Java代码
import java.io.*;
import java.util.Scanner;
public class ScanXan {
public static void main(String[] args) throws IOException {
Scanner s = null;
try {
s = new Scanner(new BufferedReader(new FileReader("c:\\new.txt")));
//使用字符串jdk作为分隔符
s.useDelimiter("jdk");
while (s.hasNext()) {
System.out.println(s.next());
}
} finally {
if (s != null) {
s.close();
}
}
}
}
(2)读取控制台输入
import java.util.Scanner;
public class ScannerTest
{
public static void main(String[] args)
{
Scanner s = new Scanner(System.in);
//receive string
String str = s.next();
//receive integer
Integer i = s.nextInt();
//receive double
Double d = s.nextDouble();
System.out.println(str+i+d);
}
}
int
x=scanner.nextInt();这表示只接收int类型的数据,如果输入其他的数据要出问题的
相关文章推荐
- Struts+Spring+Hibernate处理Lob(Blob,Clob)
- MyEclipse快捷键大全
- 深入理解JVM : Java堆中对象创建、布局、访问全过程
- (java) 四则运算(包含分数)
- Java发邮件 实现步骤+代码
- eclipse配置hadoop插件
- myeclipse web工程发布出错
- JAVA邮件发送的简单实现
- Struts2的类型转换及输入校验(集合类型的使用)
- java中的类的初始化顺序
- jdk 安装
- Eclipse修改字体、颜色、编译器背景颜色等操作方法
- JAVA实现在excel插入图片(POI模式)
- 基础排序算法,java实现(快速,冒泡,选择,堆排序,插入)
- eclipse导入github上面的工程
- Java多线程学习(七)
- Java内部类
- 属于你的第一个Java程序
- spring中H2数据库的使用
- Binary Tree Zigzag Level Order Traversal 【Java】