/** * Messages will be read from the given filepath and stored in the array list (messagesList) * * @param filePath Text file to be read */ public static List<String> readFile(String filePath) { BufferedReader bufferedReader = null; StringBuffer message = new StringBuffer(""); final String asterixLine = "*****"; List<String> messagesList = new ArrayList<String>(); try { String line; bufferedReader = new BufferedReader(new FileReader(filePath)); while ((line = bufferedReader.readLine()) != null) { if ((line.equals(asterixLine.trim()) && !"".equals(message.toString().trim()))) { messagesList.add(message.toString()); message = new StringBuffer(""); } else { message = message.append(String.format("\n%s", line)); } } if (!"".equals(message.toString().trim())) { messagesList.add(message.toString()); } } catch (FileNotFoundException e) { log.error("Error in reading file " + filePath, e); } catch (IOException e) { log.error("Error in reading file " + filePath, e); } finally { try { if (bufferedReader != null) { bufferedReader.close(); } } catch (IOException e) { log.error("Error occurred when closing the file : " + e.getMessage(), e); } } return messagesList; }