`

scanner两个例子(转)

阅读更多
import java.io.FileReader;
import java.util.Scanner;
import java.io.FileNotFoundException;
public class SurnameReader {
 public static void main(String args[]) throws FileNotFoundException {
 FileReader fileReader =new FileReader("src/test.txt");
 // create a scanner from the data file
 Scanner scanner = new Scanner(fileReader);
 // repeat while there is a next item to be scanned
 while (scanner.hasNext()) { //一行一行的读入
   // retrieve each data element
   String name = scanner.next();
   int age = scanner.nextInt();
   String time = scanner.next();
   boolean bool = scanner.nextBoolean();
   System.out.println(name+"  "+age+"  "+time+"  "+bool); //一行一行的输出
  }
 
  scanner.close(); // also closes the FileReader
 }
}


test.txt
老赵  28  feb-01  true
小竹  22  dec-03  false
阿波  21  dec-03  false
凯子  25  dec-03  true

执行结果如test.txt

以“,”分隔输入,默认是以空格输入

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

public class readhuman {
	private static void readfile(String filename) {
		try {
			Scanner scanner = new Scanner(new File(filename));
			// Scanner使用空白符作为默认的分隔符,用户可以很容易地更改分隔符的默认设置。
			scanner.useDelimiter(System.getProperty("line.separator"));
			while (scanner.hasNext()) {
				parseline(scanner.next());
			}
			scanner.close();
		} catch (FileNotFoundException e) {
			System.out.println(e);
		}
	}

	private static void parseline(String line) {
		Scanner linescanner = new Scanner(line);
		// Scanner使用空白符作为默认的分隔符,用户可以很容易地更改分隔符的默认设置。
		linescanner.useDelimiter(",");
		// 可以修改usedelimiter参数以读取不同分隔符分隔的内容
		String name = linescanner.next();
		int age = linescanner.nextInt();
		String idate = linescanner.next();
		boolean iscertified = linescanner.nextBoolean();
		System.out.println("姓名:" + name + " ,年龄:" + age + " ,入司时间:" + idate
				+ " ,验证标记:" + iscertified);
	}

	public static void main(String[] args) {
		if (args.length != 1) {
			System.err.println("usage: java readhuman file_location");
			System.exit(0);
		}
		readfile(args[0]); //参数为comma.txt
	}
}


comma.txt
hell,28,feb-01,true

执行结果:
姓名:hell ,年龄:28 ,入司时间:feb-01 ,验证标记:true

源码见附件
分享到:
评论

相关推荐

    Java中Scanner类的用法

    下面通过两个示例代码进一步了解`Scanner`类的使用方法: ##### 示例一:从控制台读取数据 ```java import java.util.Scanner; public class Example { public static void main(String[] args) { System.out....

    输出任意两个整数之间的所有素数

    - **嵌套循环**:在`main`方法中有两个嵌套的`for`循环,外层循环控制重复次数,内层循环用于遍历指定范围内的整数。 #### 3.2 条件判断 - **if语句**:在`prime`方法中使用了`if`语句来判断一个数是否为素数。...

    Java递归例子.doc

    斐波那契级数是指一个数列,其中每个数字都是前两个数字的和。使用递归函数可以很容易地实现斐波那契级数的计算。Java 实现代码如下: ```java package org; import java.util.Scanner; public class Fib { ...

    java Scanner基础及简单练习(csdn)————程序.pdf

    在这个例子中,程序会提示用户输入两个整数,然后计算它们的和。 - **从键盘接收三个数并求最大值**: ```java public class ScannerDemo02 { public static void main(String[] args) { Scanner scanner = new ...

    01输出两个int数中的最大值.docx

    ### 输出两个int数中的最大值 #### 背景与目的 在计算机编程中,比较数值大小并找出其中的最大值是一项基本且常见的操作。这项技能不仅适用于初学者的基础练习,也是构建更复杂算法的重要基石之一。本文将通过一个...

    Scanner 踩坑:java.util.NoSuchElementException(csdn)————程序.pdf

    首先,问题的描述是一个简单的Java程序,其中创建了两个`Scanner`对象来读取用户的输入。程序在每次读取后都调用了`close()`方法关闭`Scanner`。然而,这样做导致了`NoSuchElementException`的抛出,这让人困惑,...

    Java编程两个数之和

    程序使用了`java.util.Scanner`类来读取用户的输入,通过定义一个名为`两个数之和`的类以及其中的方法来完成整个计算过程。 #### 二、核心概念与技术要点 1. **导入包**: - `import java.util.Scanner;`:这是...

    cordova-plugin-qrscanner:适用于Cordova应用程序和浏览器的快速,节能,高度可配置的QR码扫描仪

    科尔多瓦-插件-qrscanner 适用于Cordova应用程序的快速,节能,高度可配置的QR码扫描...用法集成cordova-plugin-qrscanner有两个主要步骤。1.尽早获得许可(可选) 此步骤是可选的–如果在扫描开始的那一刻,如果您的应

    很好的编程例子教育频道

    使用两个嵌套的for循环,外层循环控制行,内层循环控制列。当行索引i等于列索引j时,累加对应的矩阵元素a[i][j]。 2. **输入与输出**: - 使用`Scanner`类进行用户输入,如在【程序 29】中读取3x3矩阵的每个元素。...

    一个稍微复杂的Java程序示例 这个程序会计算并输出用户输入的两个整数的和与乘积

    在这个例子中,我们使用nextInt()方法来读取整数。 使用System.out.print()而不是System.out.println()来在同一行输出提示信息,以便用户的输入能够紧跟在提示之后。 在使用完Scanner对象后,应该调用close()方法来...

    java初学者48个小例子-30页.pdf

    以下是四个例子的详细解析: 1. **兔子问题(斐波那契数列)** 这个例子展示了如何解决经典的斐波那契数列问题。斐波那契数列是一个序列,其中每个数字是前两个数字的和。在这个程序中,兔子数量的问题可以看作是...

    java基础例子[参考].pdf

    这个例子同样使用`Scanner`来获取用户输入的百分制分数,并根据分数范围输出对应的等级。程序使用一系列的`else if`语句来检查分数是否在特定范围内,从而确定等级。如果分数小于0或大于100,程序会提示输入错误并...

    java代码-例子3-2 比较两个数的大小并按升序输出。

    这个例子3-2的核心目标是实现一个程序,它接受两个数值输入,比较它们的大小,并按照升序(从小到大)顺序输出。下面我们将详细讨论相关知识点。 首先,我们从`main.java`文件入手。在Java中,`main`方法是程序执行...

    java 实用例子2

    这个例子不仅包含了基本的面积计算逻辑,还展示了多态性(重载)的概念以及用户输入处理的方式。 #### 二、核心知识点解析 ##### 1. 类与对象 - **定义**:在Java中,类是一种数据类型,用于定义对象的属性和行为...

    java初学者48个小例子.doc

    在这个例子中,使用了循环结构(for循环)来计算每个月的兔子对数,这是基本的迭代方法。 2. **条件判断与逻辑运算**: - 【程序5】中,使用了条件运算符(三目运算符)来根据输入的成绩返回对应的等级(A, B, 或 ...

    Java使用Scanner类获取用户输入实例详解

    当我们运行包含Scanner类的程序时,如果按照以上例子的方式编写代码,会发现第一次运行时"HelloWorld"中的空格被跳过,只读取到了"Hello"。这是因为在第一次调用next()后,输入流中的位置指针已经指向了"World",第...

    JAVA设计教程

    这两个例子展示了如何使用整型变量进行时间计算,以及如何使用模运算(%)和除法(/)进行单位转换。 最后,2.9的`Dollarbill`类引入了JAVA的输入/输出(I/O)功能,特别是`Scanner`类。它允许用户输入一个金额,...

    解析Scanner之next与nextLine区别

    回到给定文件的例子,当`next()`方法读取了第一个"jeckfan"并遇到了空格后,紧接着调用`nextLine()`方法将会读取剩余的两组"jeckfan"及其间的空格,直到遇到换行符为止。 ### `next()`与`nextLine()`的联合使用 在...

    java基础例子[参照].pdf

    3. **等差数列求和**:这个例子计算了1到99的所有奇数之和。它使用了一个for循环来累加奇数,展示了循环结构(for循环)和变量的累加操作。 4. **水仙花数**:水仙花数是指一个三位数,其各位数字立方和等于其本身...

Global site tag (gtag.js) - Google Analytics