ListNewPersonList звучит так, как будто вы имеете дело со списком, а не с большой строкой?
Как правило, имена классов следует начинать с заглавной буквы, а переменные с строчной буквы.
Но давайте предположим, что вы правы, и где-то еще мы объявили
String ListNewPersonList ...
Хорошо, у вас есть строка. У Java есть целый ряд методов, которые были добавлены в String для манипулирования ею - вплоть до регулярных выражений (то, что делает Perl тикать).
То, что вы можете искать, выглядит примерно так:
int x = ListNewPersonList.indexOf("C://");
например, найдите подстроку, которую вы вряд ли найдете в тексте.
Тогда все, что вам нужно, это конечный индекс, и вы можете сделать что-то вроде:
String theFileNameToLookFor = ListNewPersonList.substring(x, y);
Или, может быть, y-1, в зависимости.
Будьте очень осторожны со строковыми границами, потому что базовая реализация по умолчанию рассматривает их как массив, и вы не хотитепопытаться проиндексировать часть массива, который на самом деле не существует. Java не понравится, если вы сделаете это.
Но вот в чем проблема - если вы точно не знаете, какой именно конец файла вам нужен (в данном случае «.txt»), который вы наполнили, потому чтоВы не можете точно сказать, как долго будут длиться имена каталогов.
В полном виде ответ может выглядеть примерно так:
String answer = ListNewPersonList.substring(
ListNewPersonList.indexOf("C://"),
ListNewPersonList.indexOf(".txt"));
Конечно, это довольно опасно, если выслучается, что .txt, который происходит до первого C: //
Такова жизнь.