java中按文件中的分隔符(空格 换行符等)逐项读取文件中的数据

首先给大家推荐一下我老师大神的人工智能教学网站。教学不仅零基础,通俗易懂,而且非常风趣幽默,还时不时有内涵黄段子!点这里可以跳转到网站

java中按文件中的分隔符(空格、换行符等)逐项读取文件中的数据

       C++中可以根据文件中的空格、换行符、制表符等分隔符来依次读取文件中的数据,最近在java工程中遇到类似的问题,在java中也需要根据分隔符读取文件里的所有数据,查找相关javadoc文档找到了一个有用类Scanner。接下来描述这个类在这个问题中的用法:
Scanner在javadoc中的描述

The scanner can also use delimiters other than whitespace. This example reads several items in from a string:

      String input = "1 fish 2 fish red fish blue fish";     Scanner s = new Scanner(input).useDelimiter("\\s*fish\\s*");     System.out.println(s.nextInt());     System.out.println(s.nextInt());     System.out.println(s.next());     System.out.println(s.next());     s.close();

prints the following output:

      1     2     red     blue
import java.io.File;import java.io.FileNotFoundException;import java.util.Scanner; public class Test {		public static void main(String[] args) throws FileNotFoundException {		File file = new File("./src/base/network/test.txt");		if(!file.exists()) {			System.out.println("节点基本信息文件未找到");			System.exit(0);		}		Scanner s = new Scanner(file);		String nodeNum = s.next();		int num = s.nextInt();		String de = s.next();		String de1 = s.next();		String de2 = s.next();		String de3 = s.next();		String de4 = s.next();		int i1 = s.nextInt();		int i2 = s.nextInt();		int i3 = s.nextInt();		int i4 = s.nextInt();				System.out.println(nodeNum + ", " + num+", "+de+", "+de1+", "				+de2+", "+de3+", "+de4+", "+i1+", "+i2+", "+i3+", "+i4);		s.close();	}}

测试所用的test.txt文档内容为

Scanner的next()方法返回的是String类型的字符串,下面是输出结果:

可以看到使用Scanner方法可以准确读取文件中所有数据。

点这里可以跳转到人工智能网站

发表评论