2012-05-03 5 views
0

У меня проблема с моим плагином bukkit. Я пытаюсь выполнить поиск по файлу и читать его по строкам (это работает), тогда, если строка содержит текст, он должен вернуть эту строку, но также должен возвращать все остальные строки в файле, который также имеет в нем определенный текст. И когда у меня есть эти строки, я должен отправить эти строки в сообщении в Player, это не проблема, но когда я отправляю строки, которые я получаю сейчас, «\ n» не работает, вот код я использую сейчас:Проблемы с отправкой сообщения игроку

public String searchText(String text, String file, Player p) 
    { 
     String data = null; 

     try { 
      BufferedReader br = new BufferedReader(new FileReader(file)); 
      String line = null; 

      while((line = br.readLine()) != null) 
      { 
       if(line.indexOf(text) >= 0) 
       { 
        data += System.getProperty("line.separator") + line + System.getProperty("line.separator"); 
       } 
       p.sendMessage("+++++++++++GriefLog+++++++++++"); 
       p.sendMessage(data); 
       p.sendMessage("++++++++++GriefLogEnd+++++++++"); 
      } 

      br.close(); 

     } catch (Exception e) { 
      e.printStackTrace();    
     } 

     return ""; 
    } 

возвращение предназначается, чтобы быть пустым, потому что информация возвращается к игроку немного выше: P проблема теперь, как я добавить «\ п» к данным переменная, потому что, когда я использую эту функцию в остальной части моего кода, она дает много строк, но без «\ n», так как я могу ее вставить?

ответ

1

Поскольку ваш метод не должен возвращать что-либо, удалите оператор return и установите для возвращаемого типа значение void. Похоже, что ваш код выдаст строку данных один раз для каждой строки вашего поискового запроса, попробуйте:

data = ""; 
while((line = br.readLine()) != null) 
{ 
    if(line.indexOf(text) >= 0) 
    { 
     //remove the first System.getProperty("line.separator") if 
     //you don't want a leading empty line 
     data += System.getProperty("line.separator") + line + 
      System.getProperty("line.separator"); 
    } 
} 
if (data.length() > 0) { 
    p.sendMessage("+++++++++++GriefLog+++++++++++"); 
    p.sendMessage(data); 
    p.sendMessage("++++++++++GriefLogEnd+++++++++"); 
}