2015-03-03 2 views
0

Итак, я написал свою строку в файл (написал «\ n» как «\ n», чтобы они отображались как «\ n») Но когда я получаю строку обратно из файла, который он не разделяет на «\ n». Я знаю, что строка является то, что я хочу, чтобы это было, но, как вы можете видеть на скриншоте: http://imgur.com/VUcMPeVРазделение на « n» Java

раскол превращается в список только один элемент (который является всей строкой, а также почему он выходит из строя когда я пытаюсь получить столбец [1]), и он не разбивается на «\ n».

Может ли кто-нибудь из вас помочь мне разобраться, почему?

Вот код, как показано в ScreenShow (но без вывода на консоль)

public void loadGame(String boardInput){ 
    String column[] = boardInput.split("\n"); 
    System.out.println(column[0]); 
    boardWidth = column[1].length(); 
    for (int y = 0; y < column.length; y++){ 
     if (column[y].contains("@") || column[y].contains("+")){ 
      currentY = y; 
     } 
     ArrayList<Cell> row = new ArrayList<Cell>(); 
     String Chars[] = column[y].split(""); 
     for (int x = 0; x < column[y].length(); x++){ 
      if (Chars[x].equals("@") || Chars[x].equals("+")){ 
       currentX = x; 
      } 
      if (Chars[x].equals(".") || Chars[x].equals("+") || Chars[x].equals("*")){ 
       row.add(new Cell(Chars[x], true)); 
      } else { 
       row.add(new Cell(Chars[x], false)); 
      } 
      } 
      board.add(row); 
    } 
} 

И это значение boardInput: *######*\n# @ #\n# $ . #\n# #\n*######*

+1

Есть ли 'boardInput.split (" \\ n ");' работа? –

+0

* "написал" \ n "s как" \ n ", чтобы они выглядели как" \ n "" * Почему, почему? ... Недостаточно символов/строк для использования в качестве разделителей. использовать точно '\ n' ... – m0skit0

+0

Я бы попытался разделить (" \\ n "). ... edit: to slow .. – griFlo

ответ

2

Использование:

String column[] = boardInput.split("\\n"); 

"\n" является специальным символом для «разрыва строки». Дополнительный \ избегает другого \, поэтому он читается как текст \n, а не особый символ.

Подробнее о Escape Sequences here.

+0

Я пробовал это, но та же проблема все еще сохраняется. Он не раскололся. –

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