как я прочитал «Dr. Dr. John Doe [email protected]
» (line_split [0]) на две отдельные строки (имя и электронной почты в MailEntry,. Название имеет неограниченное количество слов.Split линии на две строки, используя BufferedReader Java
ArrayList<MailEntry> Daten = new ArrayList<MailEntry>();
try {
File file = new File("MailDaten.txt");
FileReader fileReader = new FileReader(file);
BufferedReader bufferedReader = new BufferedReader(fileReader);
StringBuffer stringBuffer = new StringBuffer();
String line;
while ((line = bufferedReader.readLine()) != null) {
String[] line_split = line.split(" ");
Daten.add(new MailEntry(line_split[0], line_split[5],
new TimeEntry(line_split[1], line_split[2], line_split[3], line_split[4])));
stringBuffer.append(line);
stringBuffer.append("\n");
}
fileReader.close();
System.out.println("Contents of file:");
System.out.println(stringBuffer.toString());
} catch (IOException e) {
e.printStackTrace();
}
Если имя может иметь неограниченное количество слов, почему вы используете жестко закодированные индексы? – rmlan
Вы пытались выполнить поиск в google для регулярного выражения для emailid в строке для java –
Строго говоря, адрес электронной почты может содержать пробелы, если они находятся в кавычной строке. Таким образом, расщепление пространства в качестве первого шага - плохая идея. Очень важно понять, что адрес электронной почты может быть намного больше, чем «обычный» [email protected] – RealSkeptic