1

我正在尝试将我的文本文件的内容存储到一个数组中并在控制台中显示它们。我还想在文件中找到空白空间并在其中插入我之前设计的游戏板。

这是我的文本文件内容:

rfhrf
1
4

sdtgv
1
1

rfhrf
1
3

sdtgv
2
1

rfhrf
4
4

sdtgv
3
1

这是我到目前为止所拥有的:

File text = new File("actions.txt");
try {
    Scanner scanner = new Scanner(text);

    while (scanner.hasNextLine()) {

    String line = scanner.nextLine();
    System.out.println(line);   
    Thread.sleep(5000);
    }

    scanner.close();
} catch (FileNotFoundException e) {
    e.printStackTrace();
} catch (InterruptedException e) {
    e.printStackTrace();
}

任何帮助都会很棒。

4

3 回答 3

1

您可以做的是按约定定义格式,更改您的文件,使其看起来像这样:

rfhrf;1;4
sdtgv;1;1
...

然后对于每个读取行,您可以看到值和位置。例子:

File text = new File("actions.txt");
try {
    Scanner scanner = new Scanner(text);

    while (scanner.hasNextLine()) {

        String line = scanner.nextLine();
        String params = line.split(";");
        String value = params[0];
        int row = Integer.parseInt(params[1]);
        int col = Integer.parseInt(params[2]);

        myArray[row][col] = value;

    }

    scanner.close();
} catch (FileNotFoundException e) {
    e.printStackTrace();
}

如果我真的理解你的意思,那应该对你有帮助。

于 2013-03-27T16:20:52.563 回答
1

我认为您不需要使用 Array. 只需尝试以下!希望它有效!

File text = new File("actions.txt");
try {
    Scanner scanner = new Scanner(text);

    while (scanner.hasNextLine()) {
        String line = scanner.nextLine();
        if (line.isEmpty()) {
            System.out.println("This is Space!");
        } else {
            System.out.println(line);
        } 
        Thread.sleep(5000);
    }

    scanner.close();
} catch (FileNotFoundException e) {
    e.printStackTrace();
} catch (InterruptedException e) {
    e.printStackTrace();
}
于 2013-03-27T17:10:15.357 回答
0

做你自己的类来满足你的所有需求(比如空间计数、单词)让我们说 MyClassContainer 然后把你所有的 MyClassContainer 放在一个哈希表中。它既快速又简单

于 2013-03-27T16:19:56.797 回答