Java 读取文本文件时出现问题

Java 读取文本文件时出现问题,java,Java,我需要一个程序来读取文本文件。文本文件: S 3 H 5 L 5 B 4 5 S、 H、L和B分别表示特定形状(正方形、三角形等),之后的数字是高度和宽度(如果适用)。例如,“S3”表示高度为3的正方形: * * * * * * * * * 到目前为止,我有: File dataFile = new File("textfile.txt"); Scanner in; in = new Scanner (dataFile);

我需要一个程序来读取文本文件。文本文件:

S 3
H 5
L 5
B 4 5
S、 H、L和B分别表示特定形状(正方形、三角形等),之后的数字是高度和宽度(如果适用)。例如,“S3”表示高度为3的正方形:

* * * 
* * * 
* * * 
到目前为止,我有:

File dataFile = new File("textfile.txt");

            Scanner in;
            in = new Scanner (dataFile);

            int variable = in.nextInt();
            System.out.println(variable);
(我使用int“variable”来测试它。)因此,由于“S”不是整数,我不能使用

int variable = in.nextInt();

那么,如何让程序将其读取为字符串和紧跟其后的整数呢?

一种方法涉及
string.split

基本思想是使用.nextLine()中的
一次读取一行,并使用
split()
作为分隔符。比如

String[] tokens = in.nextLine().split(" ");

在您的示例输入中,想法是如果第一行是
“s3”
,那么
标记将是长度为2的
字符串
数组,其中包含元素
“S”
“3”
。更一般地说,结果数组的第一个元素应该是字母,数组的其余部分应该是高度和宽度参数,您可以自己解析这些参数以获得必要的信息。

您可以在.next()中使用
要读取单个字符
字符串
,然后使用
charAt(0)

将其转换为
字符
,请查看其他
扫描程序
方法……您可以将整个内容作为字符串读取,然后查看该字符串的各个字符。此外,您还可以将其读取为
char
s。