2013-02-20 2 views
0

Я пытаюсь прочитать txt-файл с * и пробелами с помощью сканера. До сих пор, я написал следующий код для входа:Использование сканера для чтения файла с пробелами

** S  *** 

while(lineNum <= height){ 
      //System.out.println("Maze created"); 
      lineTokenizer = new Scanner(s.nextLine()); 

      for(int i=0;i<height;i++){ 
       for(int j=0;j<width;j++){ 
        if (lineTokenizer.hasNext()) { 
         lineTokenizer.useDelimiter("\\s+"); 
        maze[i][j]=lineTokenizer.next(); 
       } 
      } 
      } 
      lineNum++; 
      } 

Однако, я все еще не в состоянии действовать за пределами точки

**

. Не могли бы вы рассказать мне, где я ошибаюсь? Благодарю.

Я отредактировал Q, чтобы включить цикл. lineNum будет отслеживать количество строк (я начинаю с строки 2 файла) и сохраняю каждый символ, прочитанный в 2d массиве.

+0

вам нужно размещать больше кода, чем то, что делает «проследовать за» означают. где находится ваша петля – 75inchpianist

+0

Чтобы лучше помочь, опубликуйте [SSCCE] (http://sscce.org/). –

+0

@ 75inchpianist- Я отредактировал Q. Продолжайте дальше, в том смысле, что я не мог читать за пределами пространства в файле. –

ответ

0

Как у вас есть несколько пробелов, ваш разделитель должен быть \\s+

lineTokenizer.useDelimiter("\\s+"); 
+0

Хорошо, но почему \ \ s * не работает? Это дает мне тот же результат. –

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