Java - 解析带有整数和字符串的文本文件

use*_*453 0 java

我有一个包含以下内容的文本文件(分隔符是一个空格):

1231 2134 143 wqfdfv -89 rwq f 8 qer q2
sl;akfj salfj 3 sl 123
Run Code Online (Sandbox Code Playgroud)

我的目标是分别读取整数和字符串。一旦我知道如何解析它们,我将创建另一个输出文件来保存它们(但我的问题只是知道如何解析这个文本文件)。

我尝试使用 Scanner,但无法超越第一个 inetger:

Scanner s = new Scanner (new File ("a.txt")).useDelimiter("");
while (s.hasNext()){
System.out.print(s.nextInt());}
Run Code Online (Sandbox Code Playgroud)

输出是

1231
Run Code Online (Sandbox Code Playgroud)

我怎样才能从这两行中获取其他整数?

我想要的输出是:

1231 
2134 
143
-89
8
3 
123
Run Code Online (Sandbox Code Playgroud)

Abs*_*ind 5

分隔符应该是其他东西,例如至少一个或多个空格

Scanner s = new Scanner (new File ("a.txt")).useDelimiter("\\s+");
while (s.hasNext()) {
    if (s.hasNextInt()) { // check if next token is an int
        System.out.print(s.nextInt()); // display the found integer
    } else {
        s.next(); // else read the next token
    }
}
Run Code Online (Sandbox Code Playgroud)

我必须承认,在这个简单的情况下,gotuskar 的解决方案是更好的解决方案。