Как бы я отсканировал первую строку текстового файла для двух целых чисел, пропуская строки - PullRequest
1 голос
/ 13 ноября 2010

Мне нужно найти в первой строке текстового файла два значения Int, которые будут размерами двумерного массива. Вот что у меня пока ... Спасибо!

 try {
        Scanner scan = new Scanner(f);
            int rows = scan.nextInt();
            int columns = scan.nextInt();
        String [][] maze = new String[rows][columns];
     }

1 Ответ

0 голосов
/ 13 ноября 2010

Еще один способ:

// read your file
File f = new File("file.txt"); 

// make sure your file really exists
if(f.exists()) {  

    // a buffered reader is standard for reading files in Java
    BufferedReader bfr = new BufferedReader(new FileReader(f));

    // read the first line, that's what you need
    String line = bfr.readLine();

    // assuming your integers are separated with a whitespace, use this splitter
    // if they're separated with a comma, the use line.split(",");
    String[] integers = line.split(" ");

    // get the first integer
    int i1 = Integer.valueOf(integers[0]);

    // get the second integer
    int i2 = Integer.valueOf(integers[1]);

    System.out.println(i1);
    System.out.println(i2);

    // finally, close buffered reader to avoid any leaks
    bfr.close();
}

Я оставлю обработку исключений на ваше усмотрение.У вас будут исключения, если ваш файл не существует, не может быть прочитан или если первая и вторая части первой строки не являются целыми числами.Это нормально, если они отрицательные.

Примечание: вы ничего не указали о том, как выглядит первая строка.В этом коде я предположил, что они в начале разделены пробелами.

Если это не так, то вы также можете использовать разбиение строки, но вам придется проверить, можно ли преобразовать каждую разделенную частьв целое число.Если у вас есть 3 или более целых числа в первой строке, будут неоднозначности.Отсюда и мои предположения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...