Я бы использовал здесь формальное регулярное выражение, а затем неоднократно применял бы его для каждой строки в вашем файле:
String input = "25678399287 James Hi there!\n24467448489 Randy yo, how are you?\n36373783388 Fred Ciou amigos!";
String pattern = "(\\d+) (\\S+) (.*)";
Pattern r = Pattern.compile(pattern);
Matcher m = r.matcher(input);
while (m.find()) {
System.out.println("number: " + m.group(1) + ", name: " + m.group(2) + ", message: " + m.group(3));
}
Это печатает:
number: 25678399287, name: James, message: Hi there!
number: 24467448489, name: Randy, message: Randy yo, how are you?
number: 36373783388, name: Fred, message: Ciou amigos!