📜  Java IO-Scanner(1)

📅  最后修改于: 2023-12-03 15:31:30.950000             🧑  作者: Mango

Java IO-Scanner

在Java中,Scanner类可以帮助我们解析文本数据。它提供了一些方法来读取基本类型的输入数据,也可以使用正则表达式解析复杂的文本数据。Scanner类的使用非常简单,这使得它成为Java中最常用的解析器之一。

创建Scanner对象

要使用Scanner类,我们需要首先创建Scanner对象。可以使用标准输入流(System.in)作为Scanner的构造函数参数来创建Scanner对象。例如:

Scanner scanner = new Scanner(System.in);

Scanner还可以接受File对象作为参数来读取文件中的数据。例如:

File file = new File("example.txt");
Scanner scanner = new Scanner(file);
读取输入数据

Scanner类提供了一系列方法,用于读取不同类型的输入数据。下面是一些示例代码:

// 读取字符串
String input = scanner.next();

// 读取整数
int inputInt = scanner.nextInt();

// 读取浮点数
double inputDouble = scanner.nextDouble();

// 读取布尔值
boolean inputBoolean = scanner.nextBoolean();

除此之外,Scanner类还提供了许多其他方法,如nextLine(),nextByte(),nextShort(),nextLong()等,可根据不同的输入需求灵活使用。

解析复杂文本数据

Scanner类还支持使用正则表达式来解析文本数据。例如,假设我们有一个包含姓名和年龄的csv文件:

Alice,21
Bob,25
Charlie,30

我们可以使用以下代码解析文件:

File file = new File("example.csv");
Scanner scanner = new Scanner(file);

scanner.useDelimiter(",|\\n");

while (scanner.hasNext()) {
    String name = scanner.next();
    int age = scanner.nextInt();
    System.out.println("Name: " + name + ", Age: " + age);
}

在这个例子中,我们使用逗号和换行符作为分隔符,通过useDelimiter()方法告诉Scanner如何解析文件。

总结

Java IO-Scanner是一种强大的文本解析器,在Java应用程序中非常实用。Scanner类提供了一组易于使用的方法,可用于读取各种类型的输入数据。它还支持使用正则表达式解析复杂的文本数据,从而使我们的代码更灵活,更有表现力。