2016-10-27 3 views
-2

Я начинающий Java, и я хотел бы импортировать данные карты с различными узлами в java. Данные находятся в файле txt, образец которого находится ниже. Первая строка данных графа - это число узлов. Каждая из следующих строк содержит два целых числа (a, b), которые представляют ребро от узла $a$ до узла $b$.Java импортирует карту с различным количеством узлов

enter image description here

Какие функции или сканер я должен использовать?

+1

Возможный дубликат [Java: Как прочитать текстовый файл] (http://stackoverflow.com/questions/2788080/java-how-to-read-a-text-file) – nbrooks

+1

Как спросить Хороший вопрос: http://stackoverflow.com/help/how-to-ask. Вы не пытались решить эту проблему. –

ответ

-1

Вы можете использовать RandomAccessFile для чтения каждой строки в String, а затем проанализировать строку так, как вы хотите.

File file = new File("your-file-name"); 
RandomAccessFile raf = new RandomAccessFile(file, "r"); // r means read access. 

raf.readLine(); // will read a line of the file, and move the cursor to the next line. 
0

Чтобы импортировать данные из текстового файла, вы можете использовать класс сканера.

try { 
     Scanner scanner = new Scanner(new File("[path to your file]/yourfile.txt")); 
     int numOfNodes = scanner.nextInt(); 
     System.out.println("Printing numOfNodes : " + numOfNodes); 

     //Since I will be using nextLine 
     scanner.nextLine(); 
     //I have redundant scanner.nextLine() to read the remaining bit of the previous line 
     while(scanner.hasNextLine()){ 
      String[] values = scanner.nextLine().split(" "); 
      int a = Integer.parseInt(values[0]); 
      System.out.println("Printing Edge A: " + a); 
      int b = Integer.parseInt(values[1]); 
      System.out.println("Printing Edge B: " + b); 
      //logic for building graph will go in here 
      // Edge edge = new Edge(a, b); 
     } 
    } catch (Exception ex) { 
     ex.printStackTrace(); 
     //Whatever you want to happen 
     //FileNotFoundException - check the file name and directories 
     //NumberFormatException - data is not what you think or said 
    } 
Смежные вопросы