2015-11-24 5 views
0

Я пытаюсь читать текстовый файл с использованием BufferedReader и сортировать информацию в файле. Цель состоит в том, чтобы загрузить и получить доступ к информации о картах для игры, которую я делаю. Проблема в том, что когда моя программа пыталась сортировать информацию, я получаю NullPointerException.Невозможно прочитать и отсортировать информацию из текстового файла в Java

LoadWorld.java:

public class LoadWorld { 

    private static String CurrentString; 
    private static String[] LinePts; 
    private static String Path=""; 
    private static String Name=""; 
    private static String Auth=""; 
    private static String Date=""; 

    private static boolean Reading = true; 
    private static boolean OnMap = false; 

    private static int Maps = 0; 

    private static Map[] Map; 

    public static void Load() { 

     try { 

       BufferedReader reader = 
        new BufferedReader(new InputStreamReader(LoadWorld.class.getResourceAsStream("/Maps/Maps.txt"))); 

       while(Reading) { 

        CurrentString = reader.readLine(); 

        if (CurrentString.equals("{")) {OnMap=true;Maps+=1;} 
        else {Reading=false;} 

        while(OnMap) { 



         CurrentString = reader.readLine(); 
         if (!(CurrentString.equals("}"))) { 

          LinePts = CurrentString.split("-"); 

          if (LinePts[0].equals("PATH")) {Path=LinePts[1];} 
          else if (LinePts[0].equals("NAME")) {Name=LinePts[1];} 
          else if (LinePts[0].equals("AUTH")) {Auth=LinePts[1];} 
          else if (LinePts[0].equals("DATE")) {Date=LinePts[1];} 

         } 
         else { 

          Map[Maps].Path = Path; 
          Map[Maps].Name = Name; 
          Map[Maps].Auth = Auth; 
          Map[Maps].Date = Date; 
          OnMap=false; 

         } 

        } 

       } 

       reader.close();   
      } 

      catch(IOException e) { 

       e.printStackTrace(); 

      } 

    } 

Проблема возникает в разделе "остальное {", на "карте [карты] .path = путь;".

Map.java:

public class Map { 

    public String Path; 
    public String Name; 
    public String Auth; 
    public String Date; 
    public String Map; 

} 

Текстовый файл Я пытаюсь читать: Maps.txt

{ 
PATH-Default/Basic.txt 
NAME-Basic Map 
AUTH-Aelex Esrom 
DATE-11/1/15 
} 

Любая помощь приветствуется! Заранее благодарим за любые ответы.

+2

Возможный дубликат [Что такое исключение Null Pointer Exception и как его исправить?] (Http://stackoverflow.com/questions/218384/what- is-a-null-pointer-exception-and-how-do-i-fix-it) – resueman

+0

, где вы инициализировали 'map' – Ramanlfc

+0

Обратите внимание на свое соглашение об именах Java. читайте здесь: http://www.oracle.com/technetwork/java/codeconventions-135099.html – jmcg

ответ

1

вам необходимо инициализировать переменную Map

Map = new Map[5]; //array of fixed size 5 

, возможно, вы пытаетесь динамически добавлять элементы массива в PHP пути, но он не работает так же, как в Java. Вы либо создадите массив фиксированного размера, либо используете ArrayList

Смежные вопросы