无法从文本文件中读取

时间:2013-09-30 23:13:10

标签: java

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

S 3
H 5
L 5
B 4 5

S,H,L和B均指某种形状(正方形,三角形等),之后的数字是高度和宽度(如果适用)。例如,“S 3”表示高度为3的正方形

* * * 
* * * 
* * * 

到目前为止,我有这个:

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

            Scanner in;
            in = new Scanner (dataFile);

            int variable = in.nextInt();
            System.out.println(variable);

(我使用int“变量”来测试它。)所以,既然“S”不是整数,我就不能用了

int variable = in.nextInt();

那么,我怎样才能让程序将其作为字符串和紧随其后的整数读取?

2 个答案:

答案 0 :(得分:0)

您可以采取的一种方法是String.split

基本想法是,您使用in.nextLine()一次阅读一行,并使用split()作为您的分隔符" "。所以,像

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

在您的示例输入中,我们的想法是,如果第一行是"S 3",那么tokens将是一个长度为2的String数组,其元素为"S"和{ {1}}。更一般地说,结果数组的第一个元素应该是你的字母,数组的其余部分应该是高度和宽度参数,你可以自己解析它们以获得必要的信息。

答案 1 :(得分:0)

您可以使用in.next()阅读单个字符String,然后使用char将其转换为charAt(0)