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 に答える